草庐IT

jpa-criteria

全部标签

java - 我应该在休息请求和/或响应中使用 jpa 实体吗

我有一种情况,我可以发送JPA实体作为休息请求和/或获取JPA实体作为休息响应@RequestMapping(value="/products",method=RequestMethod.POST)public@ResponseBodyProductDetailsResponsecreateNewProduct(@RequestBodyProductDetailsnewProduct)throwsException{ProductDetails是一个实体@Entity@Table(name="product")publicclassProductDetails{我应该使用它,还是进行某

java - JPA POJO 作为数据对象

使用JPA实体的最佳实践是什么?由于JPA实体只是POJO,在系统的其他部分将该对象用作数据对象是否合适,还是我应该将它们转换为另一个数据对象?在系统的其他与JPA无关的部分使用JPA实体POJO是否可以接受? 最佳答案 实体现在自己能够传输自己的数据,那么为什么还要费心将它们转换成其他东西呢?也就是说,我倾向于同意《DTOanAntiPatterninEJB3.0》(原文链接目前下线):TheheavyweightnatureofEntityBeansinEJBspecificationspriortoEJB3.0,resulte

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 - 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