Ich habe folgende abstrakte Klasse:Ist es möglich, Bindungen mit Anmerkungen zu verwenden?
public AbstractClass{
public abstract String getCode();
}
und die folgende konkrete Klasse:
public ConcreteClass extends AbstractClass{
public String getCode(){
return "EHY";
}
}
Nun, würde ich für die Ausgabe dieser Klasse wie ein Parameter für eine Mybatis Abfrage zu sein:
@Select(value="select* from Table where code= #{what here?}"
public List<Something> getFromTable(ConcreteClass param);
ist es möglich? Ich weiß, dass Mybatis erlaubt die Ausgabe eines Verfahrens zu einer Variablen durch die bind Anmerkung zu binden:
<select id="selectBlogsLike" resultType="Blog">
<bind name="pattern" value="'%' + _parameter.getTitle() + '%'" />
SELECT * FROM BLOG
WHERE title LIKE #{pattern}
</select>
aber hier bin ich mit Anmerkungen und ich kann keine @Bind ein ...
Haben Sie '# {param.getTitle()}' (oder '# {param.title}' versucht, da EL im Allgemeinen Eigenschaften unterstützt)? – chrylis
haben Sie versuchen, # {Code}? – andy
In diesem interessanten Link https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions sagten sie, dass Sie mit Hilfe von SpEL so etwas wie '': # {# param.code} ' – RubioRic