spring data jpa 一对多关系怎么配置 20C
//实体类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]

1个回答

一、@OneToOne关系映射
JPA使用@OneToOne来标注一对一的关系。

实体 People :用户。

实体 Address:家庭住址。

People 和 Address 是一对一的关系。

这里用两种方式描述JPA的一对一关系。

一种是通过外键的方式(一个实体通过外键关联到另一个实体的主键);

另外一种是通过一张关联表来保存两个实体一对一的关系。

1、通过外键的方式

people 表(id,name,sex,birthday,address_id)

address 表(id,phone,zipcode,address)

People.java@Entity
public class People {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;//id
@Column(name = "name", nullable = true, length = 20)
private String name;//姓名
@Column(name = "sex", nullable = true, length = 1)
private String sex;//性别
@Column(name = "birthday", nullable = true)
private Timestamp birthday;//出生日期
@OneToOne(cascade=CascadeType.ALL)//People是关系的维护端,当删除 people,会级联删除 address
@JoinColumn(name = "address_id", referencedColumnName = "id")//people中的address_id字段参考address表中的id字段
private Address address;//地址
关联的实体的主键一般是用来做外键的。但如果此时不想主键作为外键,则需要设置referencedColumnName属性。当然这里关联实体(Address)的主键 id 是用来做主键,所以这里第20行的 referencedColumnName = "id" 实际可以省略。
Address.java

@Entity
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;//id
@Column(name = "phone", nullable = true, length = 11)
private String phone;//手机
@Column(name = "zipcode", nullable = true, length = 6)
private String zipcode;//邮政编码
@Column(name = "address", nullable = true, length = 100)
private String address;//地址
//如果不需要根据Address级联查询People,可以注释掉
// @OneToOne(mappedBy = "address", cascade = {CascadeType.MERGE, CascadeType.REFRESH}, optional = false)
// private People people;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
麻烦给一份spring data jpa 一对多的配置

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

spring data jpa 怎么处理多个表的查询呢?

有什么好的方法来应对多个表之间复杂的连接查询? .

spring data jpa 分页和模糊查询

用的是jpa的自带分页pagingAndSortingPository工厂,继承后写了个接口 page<T> findby(Map<String,String> like....);这样的接口其他条件我没写,map存的是模糊查询的属性和属性值。一般情况下,单表的问题都能解决。现在的问题是该表有个属性是一对多关系,这个属性是一个实体类而不是一个具体的数据类型。该怎么处理?

spring data jpa 多表联合查询 , 查询结果 List 为空无法映射

一方 package com.jpa.vo; import javax.persistence.*; import java.io.Serializable; @Entity @Table(name = "role") public class RoleVO implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "role_id") private Integer roleId; @Column(name = "role_name") private String roleName; @ManyToOne @JoinColumn(name="role_id",insertable = false , updatable = false) private UserVO userVO; } 多方 package com.jpa.vo; import javax.annotation.sql.DataSourceDefinition; import javax.persistence.*; import java.util.List; /** * 用户信息类 */ @Entity @Table(name="users") public class UserVO { @Column(name="role_id") private Integer roleId; @Id @Column(name = "user_id") @GeneratedValue private Integer userId; @Column( name="user_name") private String userName; @Column(name ="pass_word") private String password; @OneToMany( cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "userVO") List<RoleVO> roles; } spring data jpa 多表联合查询 , 查询结果 List 为空无法映射 { "roleId": 1, "userId": 1, "userName": "wuming", "password": "1234", "roles": [ {} ] }

Spring data jpa 如何进行分页联表查询?

具体使用jpa方法:Page<T> findAll(Specification<T> spec, Pageable pageable); 查询语句:select t.vehicle_id,t.id_number,t.org_code,t.vehicleStatus,t4.TYPE_NAME,t1.TERMINAL_ID,t2.TTYPE_NAME,T3.SIM_NUM from V_VEHICLEINFO t left join T_TERMINALINFO t1 on t1.TERMINAL_ID=t.TERMINAL_ID left join T_TERMINALTYPE t2 on T2.TTYPE_ID=t1.TTYPE_ID left join T_SIMINFO t3 on t3.SIM_ID=t1.SIM_ID left join v_vehicletype t4 on T4.TYPE_ID=t.TYPE_ID;

spring data JPA 类型转换异常

工作中使用spring data jpa 遇到一个百思不得姐的问题,劳烦各位大佬帮忙指点迷津。,小老弟感激不尽!! DAO : package com.xhsceis.credit.repository.firstScreenRepository; import com.xhsceis.credit.entity.FsManageStatus; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import java.util.List; public interface FsManageStatusRepository extends JpaRepository<FsManageStatus,String> { @Query(value = "SELECT FS.changPing,FS.chaoYang FROM FsManageStatus FS") List<FsManageStatus> getFsManageStatus(); } SERVICE: List<FsManageStatus> fsManageStatusList = fsManageStatusRepository.getFsManageStatus(); for **(FsManageStatus fsManageStatus : fsManageStatusList)** { Map<String, Object> fsManage = Maps.newHashMap(); Map<String, Object> data = Maps.newHashMap(); data.put("changPing", fsManageStatus.getChangPing()); data.put("chaoYang", fsManageStatus.getChaoYang()); } ENTITY: @Entity @Table(name = "FS_MANAGE_STATUS") public class FsManageStatus { @Id @Column(name = "STATUS") private String status; @Column(name = "DONG_CHENG") private String dongCheng; @Column(name = "FENG_TAI") private String fengTai; @Column(name = "DA_XING") private String daXing; @Column(name = "MI_YUN") private String miYun; @Column(name = "PING_GU") private String pingGu; @Column(name = "YAN_QING") private String yanQing; @Column(name = "HUAI_ROU") private String huaiRou; @Column(name = "FANG_SHAN") private String fangShan; @Column(name = "CHANG_PING") private String changPing; @Column(name = "CHAO_YANG") private String chaoYang; @Column(name = "HAI_DIAN") private String haiDian; @Column(name = "SHI_JING_SHAN") private String shiJingShan; @Column(name = "XI_CHENG") private String xiCheng; @Column(name = "TONG_ZHOU") private String tongZhou; @Column(name = "MEN_TOU_GOU") private String menTouGou; @Column(name = "SHUN_YI") private String shunYi; @Column(name = "COUNT") private String count; 问题描述:service 查出来的数据对象集合,我遍历的时候,报错说类型转换异常 java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to com.xhsceis.credit.entity.FsManageStatus 我猜应该是jpa查到的数据没有给指定成集合对象来接收,而是自己默认为object存储的。这是我的猜想,最后,还是得麻烦大佬给解答一哈儿。

SpringData Jpa的问题

学项目也很长时间了。还是有很多基础的东西不是很明白。之前也学过一个社交项目,也用jap,直接引入依赖后,继承接口就可以使用了。操作数据库的时候,单表增删改查不用写,复杂的条件查询可以用命名规则写个接口,就可以实现对数据库的操作。 今天学一个新的项目,上来配置了很多这些个东西![图片说明](https://img-ask.csdn.net/upload/201901/20/1547956618_485519.png) 虽然老师一一解释了意义。但是我的问题是,为什么上一个项目从来没配过这些?**_而且最重要的是:什么情况下该配?什么情况下不配?_** 而且,他上来创建的是**spring initializr**。我之前学的创建的时候选的是**maven**。什么情况下选择什么?讲师也没有过一个解释

SpringData JPA @Query 返回的结果中有实体类和结果如何处理

package com.jpa.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastModifiedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.io.Serializable; import java.util.Date; import java.util.List; 使用Query 查询如何接收下面的返回结果,我要的不是一个属性,而是一个对或者一个集合 /** * 用户信息类 * */ @Data @ApiModel @Table(name="users") @Entity(name = "userVO") @EntityListeners(AuditingEntityListener.class) @NamedEntityGraph(name ="UserVO.roles",attributeNodes ={ @NamedAttributeNode("roles") }) public class UserVO implements Serializable { private Role List<RoleVO> roles; } 在网上搜到了一个封装返回结果的,但只有一个字段属性,没有接收那个 对象和集合的 @SqlResultSetMapping(name = "ItemResults", entities = { @EntityResult( entityClass = MySqlRenameTableStatement.Item.class, //就是当前这个类的名字 fields = { @FieldResult(name = "roleId", column = "role_Id"), @FieldResult(name = "roleName", column = "role_name"), } ) }, columns = { @ColumnResult(name = "item_id") }) public class RoleVO implements Serializable {

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使用CriteriaQuery进行不定条件查询时,发起了多次查询

//PlatformSecurityUser为账户信息实体,和用户基本信息platformSysUser存在一对一的映射关系,fetchType为lazy //在获取账户信息的同时,希望一次获取用户基本信息-platformSysUser import javax.persistence.*; import javax.persistence.criteria.*; import java.util.ArrayList; public class CustomPlatformSecurityUserDaoImpl implements CustomPlatformSecurityUserDao { @PersistenceContext EntityManager entityManager; @Override public Page<PlatformSecurityUser> dynamicQuery(PlatformSysUserAccountQueryConditionVO queryConditionVO, Pageable pageable) { CriteriaBuilder criteriaBuilder=entityManager.getCriteriaBuilder(); CriteriaQuery<PlatformSecurityUser> query=criteriaBuilder.createQuery(PlatformSecurityUser.class); Root< PlatformSecurityUser> root = query.from(PlatformSecurityUser.class); root.fetch("platformSysUser"); entityManager.createQuery(query).getResultList(); return null; } } 现在出现的问题是resultList里面有多少账户信息数据,就发起了多少次根据ID获取账户信息的查询,现在我希望只有一次查询,就是日志中的第一条SQL,请各位哥哥姐姐帮下忙。打印的日志如下(sql我进行过简化,把 里面的AS去掉了): Hibernate: select a.id, c.id, a.IS_DEL, a.CREATE_TIME, a.EFF_TIME, a.EXP_TIME, a.LAST_LOGIN_TIME, a.LOGIN_NAME, a.PASSWORD, a.PLATFORM_SYS_USER_ID, a.STATUS, a.TOKEN, c.IS_DEL, c.CREDENTIAL_NUMBER, c.CREDENTIAL_TYPE, c.EMAIL, c.MOBILE, c.NAME, c.SEX, c.USER_NUMBER, c.USER_TYPE from PLATFORM_SECURITY_USER a inner join PLATFORM_SYS_USER b on a.PLATFORM_SYS_USER_ID=b.id inner join PLATFORM_SYS_USER c on a.PLATFORM_SYS_USER_ID=c.id Hibernate: select a.id, a.IS_DEL, a.CREATE_TIME, a.EFF_TIME, a.EXP_TIME, a.LAST_LOGIN_TIME, a.LOGIN_NAME, a.PASSWORD, a.PLATFORM_SYS_USER_ID, a.STATUS, a.TOKEN from PLATFORM_SECURITY_USER a where a.PLATFORM_SYS_USER_ID=? Hibernate: select a.id, a.IS_DEL, a.CREATE_TIME, a.EFF_TIME, a.EXP_TIME, a.LAST_LOGIN_TIME, a.LOGIN_NAME, a.PASSWORD, a.PLATFORM_SYS_USER_ID, a.STATUS, a.TOKEN from PLATFORM_SECURITY_USER a where a.PLATFORM_SYS_USER_ID=? Hibernate: select a.id, a.IS_DEL, a.CREATE_TIME, a.EFF_TIME, a.EXP_TIME, a.LAST_LOGIN_TIME, a.LOGIN_NAME, a.PASSWORD, a.PLATFORM_SYS_USER_ID, a.STATUS, a.TOKEN from PLATFORM_SECURITY_USER a where a.PLATFORM_SYS_USER_ID=? Hibernate: select a.id, a.IS_DEL, a.CREATE_TIME, a.EFF_TIME, a.EXP_TIME, a.LAST_LOGIN_TIME, a.LOGIN_NAME, a.PASSWORD, a.PLATFORM_SYS_USER_ID, a.STATUS, a.TOKEN from PLATFORM_SECURITY_USER a where a.PLATFORM_SYS_USER_ID=?

spring data jpa hibernate 不使用立即加载、怎么查询多表

Root root, CriteriaQuery query, CriteriaBuilder builder 使用这3个对象怎么查询一对一的一个实体类呢?

spring-data-jpa事务不起作用

spring-data-jpa中的repository事务没有问题,但是在Service中添加Transactional注解事务就不起作用, 中间有异常不能回滚,spring的配置如下 ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd"> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <!-- 指定数据源 --> <property name="dataSource" ref="dataSource"/> <!-- 指定Jpa持久化实现厂商类,这里以Hibernate为例 --> <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/> <property name="packagesToScan" value="com.test.domain"/> <property name="jpaProperties"> <props> <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop> <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop> <prop key="javax.persistence.validation.mode">none</prop> <prop key="hibernate.use_sql_comments">false</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.max_fetch_depth">1</prop> <!-- 二级缓存设置 --> <prop key="hibernate.cache.use_second_level_cache">true</prop> <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop> <prop key="hibernate.cache.use_query_cache">true</prop> </props> </property> <property name="sharedCacheMode" value="ENABLE_SELECTIVE"/> </bean> <!-- Hibernate对Jpa的实现 --> <bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/> <!-- 数据源配置,使用应用内的DBCP数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${db.driverClass}"/> <property name="url" value="${db.jdbcUrl}"/> <property name="username" value="${db.user}"/> <property name="password" value="${db.password}"/> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize" value="${db.initialSize}"/> <property name="minIdle" value="${db.minIdle}"/> <property name="maxActive" value="${db.maxActive}"/> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="${db.maxWait}"/> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="${db.timeBetweenEvictionRunsMillis}"/> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="${db.minEvictableIdleTimeMillis}"/> <property name="testWhileIdle" value="true"/> <property name="testOnBorrow" value="false"/> <property name="testOnReturn" value="false"/> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 --> <property name="poolPreparedStatements" value="${db.poolPreparedStatements}"/> <property name="maxPoolPreparedStatementPerConnectionSize" value="${db.maxPoolPreparedStatementPerConnectionSize}"/> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <jpa:repositories base-package="com.test.dao.reposities.db" entity-manager-factory-ref="entityManagerFactory" transaction-manager-ref="transactionManager" /> </beans> ``` ``` <!-- 组件自动扫描 (注解) --> <context:component-scan base-package="com.test"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.RestController"/> </context:component-scan> <!-- 开启注解事务 --> <!-- 使用 JDK 动态代理: proxy-target-class="false" @Transactional可以标注在接口或者父类上 使用CGLIB动态代理: proxy-target-class="true" @Transactional不能标注在接口或者父类上,需要标注在业务实现类或是其方法上,否则事务不生效 --> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> ``` 请大神们给解答一些为什么在Service中配置事务不起作用?

求SpringBootJPA一对多和多对多的写法

求SpringBootJPA一对多和多对多的DOM或者教程 大概思路是我这边三张表 学生表 字段 学生id 学生姓名 课程表 字段 课程id 课程姓名 学生和课程表的关系表 如果在 mybatis项目上我会在这个表上面新建以下字段 id 学生id 课程id 然后手写SQL 让这三个表关联起来 但是到了,JPA这应该要怎么实现呢???或者有类似教程吗

spring data jpa 两张表 带条件 分页查询 如何查

![图片说明](https://img-ask.csdn.net/upload/201902/11/1549872937_437798.png) ![图片说明](https://img-ask.csdn.net/upload/201902/11/1549873147_755792.png) ![图片说明](https://img-ask.csdn.net/upload/201902/11/1549873200_94773.png) 两个实体类关联了 我应该 怎么 分页搜索 在按条件查询A 的时候把B 关联起来

hibernate或者jpa中有一对多 多对多 一对一注解的好处

比如说我不用直接在表里标明关系 两张表 相关联 一个修改功能 一张表改变了 另一张表肯定也改变了 我会用程序修改这两张表会写两个update语句 但是用了相关的注解我的代码会写少吗?

spring jpa 多过滤条件过滤

@Query(" select s from ContractBillInfo s where 1=1 and ?1 ") Page<ContractBillInfo> getContractBillInfo(String whereStr, Pageable pageable); 参数设置whereStr 是一个不定参数项的过滤条件汇总,编译不通过,请大神帮忙 whereStr 类似 's.a like '%b%' and s.b >='+b+''.....,and项不定数量

JPA中多对多中间表数据添加

我有2个表Order和Product 用jpa注解注明了多对多关系,然后Order表能够保存添加 ,我现在需要向中间表Order_Product中添加数据,请问各位大神应该用什么方法,该怎么写?

SpringBootJPA 多对多死循环

``` @DynamicInsert @DynamicUpdate @Builder @Entity @Data //生成getter,setter等函数 @AllArgsConstructor //生成全参数构造函数 @NoArgsConstructor //生成无参构造函数 @SuppressWarnings("unused")//去除黄色警告 @Table(name = "cs_album") public class CsAlbum { // 主键ID @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @ApiModelProperty(name = "id", value = "主键ID",hidden = true) private Long id; //用户id @Column(nullable=false,name="uId",columnDefinition="bigint COMMENT '用户id'") @ApiModelProperty(name = "uId", value = "用户id") private Long uId; @ManyToMany @JoinTable( //指定表名字 name = "cs_album_design_works", //配置维护放字段 joinColumns = @JoinColumn(name = "album_id",referencedColumnName = "id"), //配置被维护放字段 inverseJoinColumns = @JoinColumn(name = "design_works_id",referencedColumnName = "id") ) private List<CsDesignWorks> csDesignWorks = new ArrayList<>( ); } ``` 被维护表CsDesignWorks ``` @DynamicInsert @DynamicUpdate @Builder @Entity @Data //生成getter,setter等函数 @AllArgsConstructor //生成全参数构造函数 @NoArgsConstructor //生成无参构造函数 @SuppressWarnings("unused")//去除黄色警告 @Table(name = "cs_design_works") public class CsDesignWorks { // 主键ID @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @ApiModelProperty(name = "id", value = "主键ID",hidden = true) private Long id; @ManyToMany(mappedBy = "csDesignWorks") private List<CsAlbum> csAlbums = new ArrayList<>( ); } ``` Service类 ``` @Service @Transactional public class CsAlbumServiceImpl implements CsAlbumService { //根据id查询专辑内容 @Override public CsAlbum viewAlbum(Long id){ CsAlbum csAlbum = csAlbumRepository.findById( id ).get(); csAlbum.getCsDesignWorks(); return csAlbum; } } ``` 出现死循环为什么呢

Hibernate单向一对多关系在添加数据时多方外键为null

有一个PO类,用注解OneToMany注解了单向一对多关系,新建表的时候是没有问题的 但是发现在多方的那张表中多出来的外键那一列的值全都是null,也就是说在新建Board的时候并没有维护关系。 查看一些资料发现用mappedby指定维护关系的一方,可是mappedby和JoinColumn是互斥的,没法同时写,感觉很疑惑。这个单向一对多关系到底应该怎么写才能在保存Board记录的时候让StockName2Code的外键也同时更新呢? 下面是“多”这一端的PO ``` Entity public class StockName2Code { private String name; private String code; private Board board; public StockName2Code(String name, String code) { super(); this.name = name; this.code = code; } public StockName2Code() { super(); } public String getName() { return name; } public void setName(String name) { this.name = name; } @Id @Column(length = 50) public String getCode() { return code; } public void setCode(String code) { this.code = code; } ``` ``` @Entity public class Board { /** * 板块名 */ private String boardName; /** * 该板块内的股票 */ private Set<StockName2Code> stocks = new HashSet<StockName2Code>(); public Board() { super(); } public Board(String boardName, Set<StockName2Code> stocks) { super(); this.boardName = boardName; this.stocks = stocks; } @Id @Column(length = 50) public String getBoardName() { return boardName; } public void setBoardName(String boardName) { this.boardName = boardName; } @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "Board_Id") public Set<StockName2Code> getStocks() { return stocks; } public void setStocks(Set<StockName2Code> stocks) { this.stocks = stocks; } } ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

数据库——玩转SQL语句(以MySQL为例)

一、前言 照着大学的SQL server来学

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

01、Java入门(Getting Started);02、集成开发环境(IDE);03、项目结构(Eclipse JavaProject);04、类和对象(Classes and Objects);05:词法结构(Lexical Structure);06:数据类型和变量(Data Type and Variables);07:运算符(Operators);08:控制流程语句(Control Flow Statements);

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

立即提问
相关内容推荐