麻烦给一份spring data jpa 一对多的配置 10C

spring data jpa 以user和role为例,外带测试的代码,添加和查询的,谢了。

1个回答

麻烦给一份spring data jpa 一对多的配置

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring data jpa怎么配置?
spring data jpa怎么配置? spring data jpa怎么配置? spring data jpa怎么配置? spring data jpa怎么配置?
Spring data jpa ExampleMatcher
spring data jpa如何用ExampleMatcher写一个不等于查询条件
spring data jpa 一对多关系怎么配置
``` //实体类1 @Entity @Table(name = "t_user") //@Data //@ToString(exclude = {"role"}) public class TUser { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id") private Integer id; private String username; private String password; private String email; private Integer sex;//性别,0.1.2(男,女,未知) private Date last_login; private Date create_time;//创建时间 private Date update_time;//修改时间 private String phone;//电话 private String photo;//图片地址 private Integer status;//状态,0正常,1禁止 @ManyToOne(cascade=CascadeType.PERSIST)//cascade=CascadeType.PERSIST(开启级联操作) @JoinColumn(name="roles_id") private TRole role; } //实体类2 @Entity @Table(name = "t_role") //@Data public class TRole { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name="id") private Integer id; private String memo; private String r_name; private Date ctime; private Date update_time; @OneToMany(mappedBy="role") private Set<TUser> set = new HashSet<>(); } //dao层 public interface TUserDao extends JpaRepository<TUser, Integer>{ } //测试代码 @Autowired private TUserDao tuserDao; //添加 @Test public void add() { TRole role = new TRole(); role.setCtime(new Date()); role.setMemo("注解"); role.setR_name("管理员"); role.setUpdate_time(new Date()); TUser tUser = new TUser(); tUser.setCreate_time(new Date()); tUser.setEmail("1655@qa.com"); tUser.setLast_login(new Date()); tUser.setPassword("123456"); tUser.setPhone("www"); tUser.setPhoto("www.as"); tUser.setSex(0); tUser.setStatus(0); tUser.setUpdate_time(new Date()); tUser.setUsername("nichen"); role.getSet().add(tUser); tUser.setRole(role); tuserDao.save(tUser); } //查询 @Test public void findAll() { List<TUser> findAll = tuserDao.findAll(); for (TUser tUser : findAll) { System.out.println("tUser:"+tUser); } System.out.println("size:"+findAll.size()); } 这代码插入是可以的,查询就会有问题。 测试中的查询的错误:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.simulation.admin.model.TRole.set, could not initialize proxy - no Session at org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:582) at org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:201) at org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:561) at org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:132) at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:299) at java.lang.String.valueOf(String.java:2994) at java.lang.StringBuilder.append(StringBuilder.java:131) at com.simulation.admin.model.TRole.toString(TRole.java:99) at java.lang.String.valueOf(String.java:2994) at java.lang.StringBuilder.append(StringBuilder.java:131) at com.simulation.admin.model.TUser.toString(TUser.java:166) at java.lang.String.valueOf(String.java:2994) at java.lang.StringBuilder.append(StringBuilder.java:131) at com.simulation.admin.SimulationApplicationTests.findAll(SimulationApplicationTests.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206) 如果是用服务的接口访问的错误:java.lang.StackOverflowError: null at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:449) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:136) ~[na:1.8.0_144] at java.sql.Timestamp.toString(Timestamp.java:302) ~[na:1.8.0_144] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:165) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at java.util.AbstractCollection.toString(AbstractCollection.java:462) ~[na:1.8.0_144] at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:300) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TRole.toString(TRole.java:99) ~[classes/:na] at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_144] at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_144] at com.simulation.admin.model.TUser.toString(TUser.java:166) ~[classes/:na] ```
JSPXCMS系统里面的Spring Data JPA配置2个数据源
JSPXCMS系统里面的Spring Data JPA配置2个数据源
spring data jpa 多条件查询判读问题
在使用Spring Data JPA时发现的问题 在实际应用中,我们通常会在页面上进行组合查询,例如用户这个对象 页面上会列出用户姓名、年龄、学历、性别、地址、电话等等的一系列查询条件 最近在学习Spring Data JPA,不知这个怎么实现这种组合条件的查询啊 只能手动判断后写SQL吗
使用 spring data jpa
使用spring data jpa 报错Page 1 of 0 containing UNKNOWN instances 如果是 自己添加数据可以查询出来 而数据库以前存在的数据查询不到 大神救急!!!
spring data jpa如何自定义insert sql?批量保存数据
框架spring data jpa + hibernate 例如我想一个inset插入多条数据 ``` INSERT INTO tableName (column1,column) VALUES (value1,value2),(value3,value4),(value5,value6); ``` 插入的条数是不固定的, 将整句sql作为参数,用spring data jpa 的@Query注解进行插入是无法解析出来sql的。 请问我还有什么办法能插入整句sql? 在spring data jpa框架中 save()方法确实可以插入n条数据的集合,但是底层原理依然是一个一个的保存, 并且前后会访问2n次数据库。所以这个方法不考虑。
Spring boot + Spring Data JPA + Hibernate缓存问题
如题,项目框架为Spring boot + Spring Data JPA + Hibernate,hibernate中有Query.list()和query.iterator()方法,其中query.iterator()方法去查询时会用到缓存,返回的参数类型是Iterator,如果使用Spring Data JPA+hibernate如何实现查询一个list使用到缓存呢,JPA中的PagingAndSortingRepository接口中的findAll()方法返回的Iterator类型好像和query.iterator()的效果不一样,哪个哥们可以解答下,万分感激!
spring data jpa 拦截
spring boot项目,数据层spring data jpa 现在想在数据层把个人信息的敏感字段加密?因为项目过大,如何事项在查询语句执行之前增加拦截,将查询参数进行加密,及获取数据后将查询数据进行解密。
spring data jpa 的一些疑问
http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-jpa/ 《使用 Spring Data JPA 简化 JPA 开发》这篇文章相信大家一定拜读过   但是这2天我在继续试用spring data jpa中遇到了不少挫折。   首先遇到的是原文中写到“默认情况下,Spring Data JPA 实现的方法都是使用事务的。针对查询类型的方法,其等价于 @Transactional(readOnly=true);增删改类型的方法,等价于 @Transactional。可以看出,除了将查询的方法设为只读事务外,其他事务属性均采用默认值。”但是我配置了很长一段时间,发现dao这一层没用上@Transactional注解,而在service层用上@Transactional,JPA会发出SQL语句,但是不会存储到数据库,数据被回滚了。   第二,原文中还提到“与继承 Repository 等价的一种方式,就是在持久层接口上使用 @RepositoryDefinition 注解,并为其指定 domainClass 和 idClass 属性。”两种等价的继承接口方式示例 [code="java"] public interface UserDao extends Repository<AccountInfo, Long> { …… } @RepositoryDefinition(domainClass = AccountInfo.class, idClass = Long.class) public interface UserDao { …… } [/code] 我搞了半天就是报错 [code="java"]java.lang.ClassCastException: $Proxy23 cannot be cast to org.springframework.data.repository.Repository[/code] 网上查了很多资料,包括官方文档,都没提及这种错误的原因,我反复对照配置文件,实在找不出错误所在,不知谁能解答下疑惑。使用的是spring3.1.1,hibernate4,spring data jpa 1.03   
使用spring data jpa的问题,依赖包版本
我项目用的是spring3.2 但是spring data jpa用到spring-aop3.1的包 怎么解决版本问题呢? 我用的maven构建项目
spring data jpa nativeQuery
spring data jpa 1.10.4 ,官网文档这么写的 ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476090471_61198.png) nativeQuery 可以和 分页Pageable 一起用,我在项目里用就提示我 不能用 ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476090489_539704.png)
spring Data Jpa 项目发布linux sql大写 报错问题
spring Data Jpa 项目 本地windows开发 正常 发布到linux之后报找不到表错误 原因是hibernate将表名大写了 请问这个怎么解决 已找到问题 不是hibernate的 是mysql没设置不区分大小写 在my.ini或者my.cnf 下设置lower_case_table_names=1 就好了
Spring Data jpa+Mongodb查询全部数据出错
代码: List<Comment> comments = commentDao.findAll(); findAll为继承自MongoRepository的方法 报错: Caused by: com.mongodb.MongoQueryException: Query failed with error code 2 and error message 'Field 'locale' is invalid in: { locale: "comment" }' on server localhost:27017 at com.mongodb.operation.FindOperation$1.call(FindOperation.java:735) at com.mongodb.operation.FindOperation$1.call(FindOperation.java:725) at com.mongodb.operation.OperationHelper.withReadConnectionSource(OperationHelper.java:463) at com.mongodb.operation.FindOperation.execute(FindOperation.java:725) at com.mongodb.operation.FindOperation.execute(FindOperation.java:89) at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:189) at com.mongodb.client.internal.MongoIterableImpl.execute(MongoIterableImpl.java:143) at com.mongodb.client.internal.MongoIterableImpl.iterator(MongoIterableImpl.java:92) at org.springframework.data.mongodb.core.MongoTemplate.executeFindMultiInternal(MongoTemplate.java:2793) ... 86 more 试过换工程、换数据库、换表、换版本,依旧没有解决,而且几乎搜不到这个错误。
spring data jpa 第一行代码我save了某一个表的数据,看到数据库数据变了。
spring data jpa 第一行代码我save了某一个表的数据,看到数据库数据变了。 我第二行去查询这个表的数据,得到的却是没保存数据之前的数据。 再刷新页面就得到了现在数据库的数据是咋回事呢
spring data jpa AbstractMethodError
Caused by: java.lang.AbstractMethodError: org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.getConfigurationValues()Ljava/util/Map; at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:404) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:844) at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:67) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:343) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) ... 19 more
求教 spring data jpa 分页排序的问题.
现在项目中使用spring data jpa做分页排序时遇到这样一个问题, 有两个类Customer 和CustomerNode, 一对一关系. CustomerNode为Customer的一个属性. Customer将一些蛋疼的少用的数据保存在CustomerNode中, 比方说intentionCurrent(顾客当前意向). 然后现在一个customer的table需要以CustomerNode.intentionCurrent的值来排序分页. 就会出现传入的页码和其他条件完全正确的情况下,无论怎么翻页, 页面内容不变的情况. 代码如下: 业务层: Sort sort = new Sort(new Order(Direction.ASC, "CustomerNode.intentionCurrent")); Pageable pageable = new PageRequest(pageNumber, pageSize, sort); page = customerRepository.getAuthorityAllCustomer((User) null, search, pageable); Repository: @Query(value = "select c from Customer c where" + " c.enabled = true and (:user is null or c.marketer = :user or c.impler = :user)" + " and (c.name like :search or c.shortName like :search or c.oldName like :search" + " or exists (select 0 from User u where (u = c.marketer or u = c.impler) and u.name like :search)" + " or exists (select 0 from District d where d = c.province and d.name like :search)" + ")") public Page<Customer> getAuthorityAllCustomer( @Param("user") User user, @Param("search") String search, Pageable page ); 重新截个图 ![图片说明](https://img-ask.csdn.net/upload/201706/22/1498118481_1099.png) ![图片说明](https://img-ask.csdn.net/upload/201706/22/1498118585_819956.png) ![图片说明](https://img-ask.csdn.net/upload/201706/22/1498118593_847988.png) 这种以属性的属性(customer.customerNode.intentionCurrent)的方式排序翻页后始终显示相同数据. 之后也尝试过联表, Sort改为: Sort sort = new Sort(new Order(Direction.ASC, "cn.intentionCurrent") SQL第第一排改为: @Query(value = "select c from Customer c, CustomerNode cn where cn.custo mer = c " 编译无法通过 求教这种情况要如何处理?是以属性的属性的方式排序?还是联表? 还是用其他方式?
spring boot,spring data jpa同一事务内修改不可见
目前我遇到这么个问题,在同一事务内,先saveAndFlush()了一条数据,在同一方法内,事务最终提交前,然后立刻查询此数据,但是并查不到。但是据我多年经验,同一事务内,尽管没提交,但是其修改在同一的当前的事务内应该是可见的才对呀。 困惑很久了,什么各种事务隔离性都试了,况且所谓事务隔离性,都是指不同事务间,我这是同一事务内都不可见,求求大侠们帮忙看看, 实在找不到解决思路了。谢谢大家,哎,没有C币,只能乞求大家了。 详细的代码和过程,我已经发在stackoverflow了,链接如下: [https://stackoverflow.com/questions/53449779/the-modifying-can-not-be-visible-in-the-same-transaction-in-spring-data-jpa-why/53455542#53455542](https://stackoverflow.com/questions/53449779/the-modifying-can-not-be-visible-in-the-same-transaction-in-spring-data-jpa-why/53455542#53455542 "")。
在使用Spring Data JPA时发现的问题
在实际应用中,我们通常会在页面上进行组合查询,例如用户这个对象 <br />页面上会列出用户姓名、年龄、学历、性别、地址、电话等等的一系列查询条件 <br /> <br />最近在学习Spring Data JPA,不知这个怎么实现这种组合条件的查询啊 <br />只能手动判断后写SQL吗
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
JDK12 Collectors.teeing 你真的需要了解一下
前言在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
作者 | Google团队译者 | 凯隐编辑 | Jane出品 | AI科技大本营(ID:rgznai100)本文中,Google 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知说话者数秒的音频来合成其讲话音频,即网
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
【管理系统课程设计】美少女手把手教你后台管理
【后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 一、这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,
4G EPS 第四代移动通信系统
目录 文章目录目录4G EPSEPS 的架构EPS 的参考模型E-UTRANUEeNodeBEPCMME(移动性控制处理单元)S-GW(E-RAB 无线访问承载接入点)P-GW(PDN 接入点)HSS(用户认证中心)PCRF(计费规则与策略)SPR(用户档案)OCS(在线计费)OFCS(离线计费)接口类型Uu 接口(空中接口,UE 和 AN 之间)S1 接口(AN 和 CN 之间)S1-U 接口和
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问