Tag: 注释

使用注释的hibernate,我希望对一对多的关系进行排序

使用注释的hibernate,我希望通过’many’表中的’created’字段对一对多关系进行排序。 到目前为止,我已经得到了这个,它总是以随机顺序结束: // The notes @OneToMany @JoinColumn(name=”task_id”) Set notes; public Set getNotes() {return notes;} public void setNotes(Set notes) {this.notes = notes;}

@OrderBy在JPA中无法正常工作

@OrderBy如何运作? 它在以下代码中不起作用: Employee.java package com.semanticbits.pojo; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderBy; @Entity public class Employee { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int employeeId; private String name; private double salary; @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name=”EMP_ID”) @OrderBy(“city DESC”) private List address; //setters and getters public int getEmployeeId() { […]

当类返回Lambdas时,为什么reflection不起作用

我遇到了一个有点奇怪的行为。 我使用注释来标记具有特定目的的某些类,然后我使用org.reflections库来查找具有特定注释的所有类。 但是,当一个类实现一个返回lambda函数的方法时,reflection将不再找到带注释的类。 class级的签名没有变化。 注释示例: @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String someValue(); } 使用注释(编辑 – 添加了BaseClass): public class BaseClass { public Consumer doSomething(){ return null;} } @MyAnnotation(someValue = “a”) public class FooBar extends BaseClass { @Override public Consumer doSomething() { return null; } } @MyAnnotation(someValue = “bazbar”) public class BarClass extends BaseClass { @Override public […]

如何访问Java中自定义注释中定义的字段

我有以下Java代码 – import java.lang.reflect.Field; public class AnnotationTest { public @interface Size { int size(); int location(); } @Size(size = 40, location = 85) private String firstName; @Size(size = 1, location = 21) private String middleInitial; @Size(size = 50, location = 115) private String lastName; public static void main(String[] args) { AnnotationTest t = new AnnotationTest(); […]

关联时的Hibernate自定义连接子句

我想将使用hibernate注释的2个实体与自定义连接子句相关联。 该子句与通常的FK / PK相等,但也是FK为空的。 在SQL中,这将是这样的: join b on a.id = b.a_id or b.a_id is null 根据我的阅读,我应该在所有者实体上使用@WhereJoinTable注释,但我很困惑我如何指定这个条件……特别是它的第一部分 – 指的是加入实体的id。 有人有例子吗?

注释如何成为自身的注释?

当我在软件包java.lang.annotation注意到一个名为@Target的注释时,我正在浏览JDK 7的文档。 该类的标题是 @Documented @Retention(value=RUNTIME) @Target(value=ANNOTATION_TYPE) public @interface Target 现在, @Target被用作自身的注释。 这怎么可能? @Target甚至在声明之前就在标题中使用。 我用我编写的注释尝试了这个,并且它也有效。 谁能解释这里发生了什么?

有没有办法阻止空值被保留,同时允许其他人通过?

我有一个现有的JPA(EclipseLink)项目,其中所需的行为是,如果在实体的字段中给出空值,则不应该保留该空值。 用例是我们可以从外部源获得对这些实体的多个部分更新。 这些来源可能会给我们一个空值,这并不意味着“使这个领域无效”,这意味着“我没有这个价值”。 是否有注释,模式或其他工具可用于在setter中自动执行null检查或告诉JPA不保持空值???? 我可以在每个实体中查看每个setter并添加if(val != null) { //set the value }但这很乏味且重复。 例如,我们有: @Entity @Table(name = “my_table”) public class MyObject { @Column private String myColumn; public String getMyColumn() { return this.myColumn; } public void setMyColumn(String val) { this.myColumn = val; } } 我想有一些自动帮助的东西: @Entity @Table(name = “my_table”) public class MyObject { @Column @DontPersistIfNull private String […]

如何在Java中注释代码块

是否可以注释一段代码? 例如循环或简单的花括号? 如果是这样,怎么样? First.java package An; import An.ForCycle; class First { public static void main(String[] args) { First f = new First(); } public First () { @ForCycle { // error: illegal start of type { int k; } @ForCycle for (int i = 0; i < 5; i++) { // similar error (illegal start…) […]

Guice基于注释值注入

我想使用goolge / guice根据我提供的类注释注入一个值。 AutoConfig注释 @BindingAnnotation @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.PARAMETER, ElementType.FIELD }) public @interface AutoConfig { // default null not possible Class<? extends Provider<? extends ConfigLoader>> provider() default XMLAutoConfigProvider.class; } 这是我的注释,它允许配置应该用于带注释字段的配置类型。 用例: @AutoConfig() ConfigLoader defaultConfig; @AutoConfig(provider = JsonConfigProvider) ConfigLoader jsonConfig; 我想要两个配置,一个默认/ xml一个和一个json。 它们可能永远不会同时出现在同一个类中。 但我不知道何时使用这一个或另一个。 我在类中使用了这个方法,因为它们是由一些依赖项/库提供的,这个注释将用于一些(可插入的)子模块。 MyGuiceModule public class MyGuiceModule extends AbstractModule { @Override protected void configure() { […]

如何在java中获取参数的注释?

我是一名新的Java程序员。 以下是我的代码: public void testSimple1(String lotteryName, int useFrequence, Date validityBegin, Date validityEnd, LotteryPasswdEnum lotteryPasswd, LotteryExamineEnum lotteryExamine, LotteryCarriageEnum lotteryCarriage, @TestMapping(key = “id”, csvFile = “lottyScope.csv”) xxxxxxxx lotteryScope, @TestMapping(key = “id”, csvFile = “lotteryUseCondition.csv”) xxxxxxxx lotteryUseCondition, @TestMapping(key = “id”, csvFile = “lotteryFee.csv”) xxxxxxxx lotteryFee) 我想获得所有提交的注释。 有些字段是注释的,有些则不是。 我知道如何使用method.getParameterAnnotations()函数,但它只返回三个注释。 我不知道如何对应它们。 我期待以下结果: lotteryName – none useFrequence- none validityBegin -none validityEnd […]