草庐IT

QueryDSL-JPA

全部标签

java - JPA/Hibernate DDL 生成; CHAR 与 VARCHAR

我有一个JPA/Hibernate数据模型,我正在使用Hibernatehbm2ddl工具生成数据库DDL。我有一些字符串应该是CHAR和一些可能是数据库中的VARCHAR。我想尽量减少对DDL的手动编辑(我意识到有些事情将不得不发生)。有人知道我应该怎么做吗?我意识到我可以通过黑客方言制作所有字符串VARCHARS或CHARS,但这并不总是适合数据库。我希望能够使用注释或aop来做到这一点,避免在我的类中使用自定义列定义文本。谢谢。 最佳答案 注释要映射到数据库中的CHAR的字符串@Column(columnDefinition=

java - hibernate 更新JPA外键

我的jpa如下所示publicclassTESTClassimplementsSerializable{...privateStringname;@EmbeddedIdprotectedIssTESTPKissTESTPK;@ManyToOne(optional=false)@JoinColumns({@JoinColumn(name="DIVISION_CODE",referencedColumnName="DIVISION_CODE",nullable=false,insertable=false,updatable=false),@JoinColumn(name="SURVEY_

用于数据库应用程序的 Java JDBC 与 JPA

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想先声明一下,我是一个正在寻求建议的新手,因为我正在努力养成良好的习惯。我现在正在开发的应用程序是一个高度集成的数据库应用程序。当我开发、探索和实现我的每个实体的需求时,我发现我的类只是用代码爆炸,以不同的方式对每个实体运行查询。虽然现在这可能不是一件坏事,但就维护而言,我预见我的应用程序将成为调试和更新的噩梦。是否有任何JDBC专家对设计模式有任何建议,以帮助减少用于处理所有这些查询的

java - JPA 当前没有交易 Activity

将JPA与EclipseLink实现结合使用。代码:try{if(!em.getTransaction().isActive())em.getTransaction().begin();System.out.println(2);em.persist(currentUser);System.out.println(3);if(em.getTransaction().isActive()){System.out.println("ISACTIVE");}else{System.out.println("NOACTIVE");}em.getTransaction().commit();Sy

java - JPA 表 "sequence"不存在

数据库:user_accountid(pk)emailpassword...user_detailid(pkfk)name_firstname_last...实体@Entity@Table(name="user_account")@SecondaryTable(name="user_detail",pkJoinColumns=@PrimaryKeyJoinColumn())publicclassUserAccountimplementsSerializable{privatestaticfinallongserialVersionUID=-2606506548742732094L;@I

java - 使用 JPA 关系查询时非法尝试取消引用集合

我有2个类:@Table(name="PEOPLE")@EntityclassPerson{@OneToMany(mappedBy="owner")Setcars;}@Table(name="CARS")@EntityclassCar{@ManyToOne@JoinColumn(name="OWNER_ID",referencedColumnName="ID")Personowner;@Column(name="MODEL")Stringmodel;}我正在尝试按模型查询人员。运行以下代码失败,即使表之间的联系很清楚:selectmofromPersonmowheremo.cars.m

java - 具有多个条件的 QueryDSL 谓词 SetPath.any

我有一个具有一对多关系的简单实体@Entity//andother@stuffpublicclassMember{@IdprivateLongid;privateStringname;privateListprograms;...}@EntitypublicclassProgram{@IdprivateLongid;privateLongprogramName;privateProgramTypeprogramType;privateLongprogramCost;...}现在使用QueryDSL,我想查询'所有成员都注册了programType="FULLTIME"且programC

java - Spring Data JPA - 在没有@Transactional 的情况下获取延迟加载的集合

我的期望是,当在事务范围内访问集合时,应该获取延迟加载的集合。例如,如果我想获取一个集合,我可以调用foo.getBars.size()。缺少Activity事务将导致异常并显示错误消息,如failedtolazilyinitializeacollectionofbars:....couldnotinitializeproxy-noSession但是,我注意到我最新的应用程序中的行为有所不同。我将SpringBoot1.5.1与“data-jpa”启动器一起使用。我过去使用过SpringBoot,但data-jpastarter对我来说是新的。考虑以下情况。我有一个延迟加载的ManyT

java - 如何将数据库生成的列值定义为 JPA 和 Hibernate 中的只读字段?

使用MariaDB10.2可以为日期时间定义默认值,例如创建和最后修改。我应该如何将此列作为只读字段访问?因为这个值应该只在数据库的控制下,不应该从代码中修改,但我想在代码中读取这个属性。 最佳答案 很简单。只需将insertable和updatable属性设置为false。@Column(name="created_on",insertable=false,updatable=false)privateTimestampcreatedOn; 关于java-如何将数据库生成的列值定义为J

java - JPA 配置 boolean 字段以保留为整数

在JPA中有一个注解来指定boolean字段应该作为整数保存。我正在使用OpenJPA,它目前将boolean字段作为位保留。我宁愿使用整数1或0。 最佳答案 您可以指定列定义:@Column(name="boolColumn",columnDefinition="INT(1)") 关于java-JPA配置boolean字段以保留为整数,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question