spring-data-jpa - JPA:使用 @Column(columnDefinition = "boolean default true") 不会在 H2 数据库中将布尔值设置为 TRUE
问题描述
我将实体属性之一定义为将默认布尔值设置为 true:
@NotNull
@Column(columnDefinition = "boolean default true")
private Boolean free = true;
...
但是当我在测试中创建此实体时,它似乎无法正常工作:
@DataJpaTest
class DeviceRepositoryTest {
@Autowired
private TestEntityManager entityManager;
@Autowired
private DeviceRepository repository;
@Test
public void testFindByFirstFreeTrue() {
Device device = buildDevice("D-1");
entityManager.persist(device);
entityManager.flush();
Device freeDevice = repository.findFirstByFreeTrue();
assertThat(freeDevice).isNotNull();
assertThat(freeDevice.getDeviceId()).isEqualTo("D-1");
assertThat(freeDevice.getFree()).isTrue();
}
它在第一个断言上失败了。当我在调试模式下检查创建的实体时,属性free
是null
. 我错过了什么?
解决方案
推荐阅读
- stata - 使用求和创建一个新变量
- javascript - 如何在 Vue 中设置 CKfinder 和 CKeditor
- angularjs - 如何显示最后一个索引输入值标签... ng-repeat
- android - 浮动操作按钮在片段中重复
- c++ - 将 TopoDS_Face 对象分配给其子对象编译没有错误,但我有 3 个 valgrind 错误
- java - 阻止微服务实例向 Eureka Service Discovery 注册
- python - 如何在张量流 LinearRegressor 中强制偏差为零?
- c# - C# WPF 应用程序和 python 脚本之间的双向通信
- mysql - 表中有多个 json 列有什么缺点吗
- javascript - 编写一个 angularToHTML 函数