2013-07-03 38 views
0

似乎Xtend和Spring Data之间的命名约定是不兼容的。Xtend的_field命名和SpringData的存储库命名约定

例如:

// User.xtend 
class User { 
    @Property 
    var Long id; 
} 

interface UserRepository extends JpaRepository<User> { 
    public User findById(Long id) 
} 

@Property注释重命名id_id,这将导致春季数据失败,声称No property id found

有没有一种办法之一:

  • 禁止的Xtend的重命名的字段
  • “Te ach“关于命名约定的Spring数据(寻找一个字段?添加下划线)
  • 指示Spring Data使用属性访问,而不是字段访问属性解析?

任何这些都可以解决这个问题,我相信。

回答

1

自2.7.3以来,@Property注释已被@Accessors取代,它不再使用下划线前置字段。

在2.7.3之前,您必须构建自己的@Property注释,该注释不会为该字段的名称添加下划线。

http://www.eclipse.org/xtend/documentation.html#activeAnnotations

(更新)

+0

我只是想指出,'@ Property'注解已被弃用,并通过'@ Accessors'取代。我还发现了一篇关于编写活动注释最佳实践的好文章。 http://mnmlst-dvlpr.blogspot.de/2013/06/active-annotation-best-practices.html –