草庐IT

java - Spring @Transactional 提交失败; Deby + Eclipse链接

下面是spring配置日期来源实体管理器配置下面是用于持久化实体的代码片段@Singleton@ComponentpublicclassRWTransactionDao{@PersistenceContext(type=PersistenceContextType.EXTENDED)privateEntityManagerem;@OverrideprotectedEntityManagergetEntityManager(){returnem;}@TransactionalpublicvoidcreateOrderTxns(RWRetailTransactionpeTxn,RWReta

java - 每个具有不同 ID 名称的类继承的 JPA 表

我有以下映射:@Entity@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)publicabstractclassVehicle{@Id@GeneratedValueLongid;}@Entity@Table(name="car")@AttributeOverride(name="id",column=@Column(name="car_id"))publicclassCarextendsVehicle{}@Entity@Table(name="bus")@AttributeOverride(name="id",column=

java - JPA:Read Lock 是如何工作的?

我想了解调用EntityManager.lock(entity,LockModeType.READ)的效果是什么。API文档对我来说听起来很困惑。如果我必须并发线程并且线程1调用lock(entity,LockModeType.READ),线程2是否仍然可以读写实体?到目前为止我学到了什么:JPA1中的锁类型READ与JPA2中的OPTIMISTIC相同。如果设置了这样的锁,EntityManager会在提交事务之前检查版本属性,但不会更新它。我找到了对OPTIMISTIC锁定模式的解释:Link.搜索OPTIMISTIC(READ)LockModeExample。据我了解,在线程1中

java - 如何将 Web 服务的输入合并到 JPA 实体

我正在尝试找出在RestfulWeb服务上下文中使用JPA的最佳方式。输入以JSON形式出现,我可以使用Jackson/JAX-RS将其转换为POJO。这将传递给我需要以某种方式合并到JPA实体中的服务。这些是我迄今为止发现的有利有弊的选择。1。JPA合并()我尝试的第一件事可能是最简单的。GET操作返回可轻松序列化为JSON的JPA实体。在更新时,传回的对象是JSON,可用于填充分离的实体。这可以使用JPAmerge()方法保存到数据库中。优点具有较少代码重复的简单架构(即没有DTO)缺点据我所知,这只有在你传递整个模型时才有效。如果您尝试隐藏某些字段,例如用户实体上的密码,那么合并

java - 如何使用某些与 SQL 兼容的列类型在 Spring JPA 中存储 Joda 时间(任何)?

我正在学习如何使用SpringBootJPA访问数据库。我用一些实体写了一个应用程序,包含Instant领域:@Entity@Table(name="MEAL",uniqueConstraints=@UniqueConstraint(columnNames={"USER_ID","TIMESTAMP_FIELD"}))publicclassMeal{//privatestaticDateTimeZonedefaultTimeZone=DateTimeZone.UTC;@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name

java - 返回从第 N 次出现开始的子串

如何在查询JPA的QueryDsl中使用这个函数SUBSTRING_INDEX(str,delim,count)返回字符串str出现count次分隔符delim之前的子字符串。更新1:在尝试这样的@MaciejDobrowolski解决方案之后:QAcheteurach=newQAcheteur("ach");newJPAQuery(entityManager).from(ach).list(Expressions.stringTemplate("SUBSTRING_INDEX({0},',',1)",ach.ancestors));我遇到了这个错误:java.lang.Illegal

java - 如何使用分页在 Spring Data JPA 中通过 SELECT 子句的别名对投影进行排序?

我创建了这两个实体来演示我的问题:所有者实体.java:@EntitypublicclassOwnerEntity{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;@Size(min=1)@OneToMany(mappedBy="ownerEntity",cascade=CascadeType.ALL)privateSetchildEntities=newHashSet();}ChildEntity.java:@EntitypublicclassChildEntity{@Id@GeneratedValu

java - lombok对jpa有副作用吗

我正在努力将jpa实体转换为使用lombok。生成的代码如下:@Entity@Table(name="TEST")@Data@NoArgsConstructor@AllArgsConstructorclassTest{...@Column(name="FORMATTING")@Enumerated(EnumType.ORDINAL)privateFormatTypeformatType;...}生成的错误消息包含以下内容Causedby:org.hibernate.HibernateException:Missingcolumn:formatTypeinTEST我真的不知道要在这里谷歌

java - JPA 和装饰者模式

我正在尝试创建一个部分依赖于人口普查部门TIGER/Lines数据Shapefile的应用程序,该文件具有此处定义的记录布局:http://www.census.gov/geo/www/tiger/tgrshp2010/TGRSHP10AA.pdf我的想法是使用装饰器模式来创建一个基要素类,其中包含所有数据类型共有的字段,然后通过装饰器模式为各个要素类型(州、县、国会选区等)扩展它。但是,我计划使用GoogleAppEngine进行托管,因此我必须通过JDO或JPA来执行此操作。我更喜欢JPA。我可以映射装饰对象吗?我的想法是,基本要素类将使用@Entity进行注释,然后扩展将包含特定

java - 插入到 JPA 集合而不加载它

我目前正在使用这样的代码向我的实体中的集合添加新条目。player=em.find(Player.class,playerId);player.getAvatarAttributeOwnership().add(newAvatarAttributeOwnership(...));它有效,但每次我想添加一个项目时,整个集合都会被加载。有没有一种方法(可能需要查询)来添加项目而不加载其余项目?在SQL中,它类似于INSERTINTOAvatarAttributeOwnership(player,data,...)VALUES({player},...);目前唯一性由Set和AvatarAt