我使用的是Spring Boot 2和Spring数据JPA。 我有一个带有@Transactional annotation的服务,它从存储库中读取记录,如果记录不存在,则添加记录并保存所有记录。我创建了一个测试方法,并行执行服务方法5次。由于我使用的是@Lock(LockModeType.悲观写入),我希望其中一个线程在读取可用性时会得到锁,而其他4个线程必须等待事务(createReserv
我在中使用Spring Data JPA和hibernate作为springboot项目进行持久化,每当存储库(JPA CRUD存储库)上的方法findyById()没有为使用@版本注释进行乐观锁定的实体的主键返回任何数据时,它就会尝试将实体插入数据库。 我可以看到日志文件中生成的插入查询。 有人遇到过这样的问题吗?请帮助。
我在JPA实体类中有问题。这个实体工作正常,但今天我添加了另一个字段(一个简单的字符串,varchar(255)在数据库中不为NULL)。当我尝试持久化一个新实体时,我得到 嗯,这是真的。该列没有默认值。但在我的代码中,我为它设置了值。查看生成的insert语句时,该字段不存在。 变量的名称与列名匹配,因此没有可能导致错误的注释。它的处理方式与其他工作正常的字段/列一样。 提前感谢您的帮助! 编辑
根据java docs for@Lock Annotation: 用于指定执行查询时要使用的LockModeType的注释。在查询方法上使用Query或从方法名称派生查询时,将评估它。 如上所述,将使用@Query annotation或findBySomething对其进行评估。。()方法。 但根据我的发现,当我在任何方法中使用@Transactional放置@Lock注释,并在该事务方法中从d
我对Spring JPA存储库的锁定方式有一些困惑,需要对其进行一些澄清。 所以,我有一个Spring Boot服务,其中我使用hibernate与数据库交互。在其中一个服务中,我有这样一个实体:- 现在,我在上面有一个标记为@repository的存储库,并扩展了JPARepository,如下所示: 所以,令人困惑的是,我的一位同事告诉我不要对这个表使用@Repository和@Entity,
我正在尝试将通用Jpa规范与Spring启动一起使用,但出现了这个问题。 在我的代码中,我试图使用模块概念,所以我有5个模块(实体、dao、服务、web和前端,带角度),所以这是我的代码: 我的通用Jpa规范接口。 存储库示例。 服务 和控制器
我必须用一个特定的名称(我使用spring和Jpa)来命名扩展CrudRepository的接口,即。 所以在本例中,我有一个名为UserRepository的实体 我尝试了注释 但这行不通...
我们使用一个停靠的postgres数据库,并让hibernate自动生成用于集成测试的表(使用spring.jpa.hibernate.ddl-auto:create)。使用H2之类的东西不是一种选择,因为我们在少数地方执行一些特定于数据库的操作,例如原生SQL查询。 当所有实体都使用自动递增的id时,有什么方法可以避免id冲突吗?或者通过抵消起始id,或者更好的是让所有表使用共享序列? 模式是在
在从MSSQL数据库中选择数据时,istill无法解决CrudRepository的问题。 存储库看起来像: MarketInfoEntity实体为: 运行测试时: 下一个堆栈跟踪如下: 你能帮我修一下这个NPE吗? 附笔。 > 可能问题出在中(查看堆栈跟踪) 另外,我还有一个方法,它使用相同的数据源扩展了CrudRepository,并且运行良好。 再次为昨天发布的stacktrace错误的帖子
我使用的是Spring数据jpa,MySQL。我有以下实体 Mysql表如下所示, 我想搜索所有
我正在编写一个JavaFX应用程序,该应用程序需要与一个SQLite数据库(存储为数据库)进行通信。db文件,用户已从其文件系统中选择。这可以是任何一个。我在构建时不知道的db文件。 我希望使用Spring/JPA2,但据我所知,它只允许使用在构建时配置的数据库。我想要的东西在Spring/JPA2中可能吗?如果可能,我将如何实现?
我试图学习Spring Framework,但在将实体保存到CRUD存储库时遇到了问题。我有几个具有自动数字ID生成的实体,它们工作得很好,但后来我尝试使用String作为主键创建一个类,就像这样: 首先,我得到了关于这个类没有默认构造函数的异常: 虽然已经很奇怪了,但我还是决定将@Builder注释更改为2个构造函数,一个带参数,另一个不带参数。我试图通过典型的测试将实体实例保存到CRUD存储库
Spring Data JPA的2.0.0版在Crudepository中用findById和existsById替换了findOne和exists方法。 我们有一个不幸的情况,我们的实体PK属性被称为“id”,并且经常有一个名为“id”的附加自然id字段。更糟糕的是,两者都是字符串。 这意味着我们现有的findById和existsById存储库方法冲突或无意中重写了CrudRepository
枚举定义- 存储库- 服务电话- 例外情况- 为什么它会抛出此异常?我已经定义了@Enumerated(EnumType.STRING),所以它应该期望存储在db中的字符串类型。
我正在开发一个应用程序,使用: Java 1.7 我想对一些字符串属性使用PostgreSQL文本数据类型。据我所知,在JPA中,要使用PostgreSQL中的文本,这应该是正确的注释: 当我像这样注释我的实体时,我遇到的错误如下所示:http://www.shredzone.de/cilla/page/299/string-lobs-on-postgresql-with-hibernate-36