关于hibernate 一对多级联查询的问题,生成的sql报语法错误

描述:主要是实体一对多的关系,不希望懒加载,需要急加载。配置完后,查询时报sql语法错误,将sql语句拷到mysql中执行,把{}去除,花括号其实就是映射的数据库字段,执行成功。仔细看了一下错误,象是hibernate执行时没有把花括号{}给替换成数据库字段名称,直接带着花括号查询了,当然会报错,为什么会出现这种问题,没有找到原因。有没有朋友知道的?
po类:一对多的关系,Jpa配置如下(单向关联)
[code="java"]
@SuppressWarnings("serial")
@Entity
@Table(name = "mplan_notice")
public class MplanNotice implements java.io.Serializable {
.....
private Set mplanNoticePositions = new HashSet(0);
@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name = "{notice_id}")
@Cascade(value = { CascadeType.SAVE_UPDATE })
public Set getMplanNoticePositions() {
return mplanNoticePositions;
}

    public void setMplanNoticePositions(
            Set<MplanNoticePosition> mplanNoticePositions) {
        this.mplanNoticePositions = mplanNoticePositions;
    }

....

}
@SuppressWarnings("serial")
@Entity
@Table(name = "mplan_notice_position")
public class MplanNoticePosition implements java.io.Serializable {

    private String id;
    private Position position;
    private String noticeId;

    @Id
    @Column(name = "id" )
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    //定义外键名称
    @ManyToOne(cascade={CascadeType.PERSIST})
    @JoinColumn(name="{position_id}")
    public Position getPosition() {
        return position;
    }

    public void setPosition(Position position) {
        this.position = position;
    }

    @Column(name = "notice_id" )
    public String getNoticeId() {
        return noticeId;
    }

    public void setNoticeId(String noticeId) {
        this.noticeId = noticeId;
    }

}
[/code]
操作:采用hibernateTemplate.get(entityclass,id)获取MplanNotice对象,并且设置为fetch.eager,急查询,能直接把MplanNotice的Set集合获取。
错误:
org.springframework.dao.InvalidDataAccessResourceUsageException: could not load an entity: [com.thinkwin.mlcm.mplan.po.MplanNotice#1]; SQL [select mplannotic0_.id as id38_10_, mplannotic0_.busstate as busstate38_10_, mplannotic0_.memo as memo38_10_, mplannotic0_.operate_time as operate4_38_10_, mplannotic0_.operate_user as operate8_38_10_, mplannotic0_.plan_month as plan5_38_10_, mplannotic0_.plan_quarter as plan6_38_10_, mplannotic0_.plan_year as plan7_38_10_, mplannotic0_.plantype as plantype38_10_, mplannotic1_.{notice_id} as column4_12_, mplannotic1_.id as id12_, mplannotic1_.id as id39_0_, mplannotic1[color=red]_.{job_id}[/color] as column3_39_0_, mplannotic1_.notice_id as notice2_39_0_, job2_.id as id71_1_, job2_.create_by as create2_71_1_, job2_.create_time as create3_71_1_, job2_.description as descript4_71_1_, job2_.job_name as job5_71_1_, job2_.org_id as org8_71_1_, job2_.position_id as position9_71_1_, job2_.update_by as update6_71_1_, job2_.update_time as update7_71_1_, mplannotic3_.{notice_id} as column4_13_, mplannotic3_.id as id13_, mplannotic3_.id as id40_2_, mplannotic3_.notice_id as notice2_40_2_, mplannotic3_.{person_id} as column3_40_2_, person4_.id as id73_3_, person4_.person_name as person2_73_3_, person4_.sex as sex73_3_, mplannotic5_.{notice_id} as column4_14_, mplannotic5_.id as id14_, mplannotic5_.id as id41_4_, mplannotic5_.notice_id as notice2_41_4_, mplannotic5_.{position_id} as column3_41_4_, position6_.position_id as position1_76_5_, position6_.create_by as create2_76_5_, position6_.create_time as create3_76_5_, position6_.description as descript4_76_5_, position6_.forder as forder76_5_, position6_.parent_position_id as parent9_76_5_, position6_.position_name as position6_76_5_, position6_.update_by as update7_76_5_, position6_.update_time as update8_76_5_, user7_.id as id87_6_, user7_.create_by as create2_87_6_, user7_.create_time as create3_87_6_, user7_.person_id as person9_87_6_, user7_.pwd as pwd87_6_, user7_.status as status87_6_, user7_.update_by as update6_87_6_, user7_.update_time as update7_87_6_, user7_.user_name as user8_87_6_, person8_.id as id73_7_, person8_.person_name as person2_73_7_, person8_.sex as sex73_7_, dictionary9_.DICT_ID as DICT1_94_8_, dictionary9_.DICT_NAME as DICT2_94_8_, dictionary9_.dict_type_id as dict5_94_8_, dictionary9_.DICT_CODE as DICT3_94_8_, dictionary9_.forder as forder94_8_, dictionary10_.DICT_TYPE_ID as DICT1_95_9_, dictionary10_.DICT_TYPE_CODE as DICT2_95_9_, dictionary10_.DICT_TYPE_NAME as DICT3_95_9_, dictionary10_.module_id as module5_95_9_, dictionary10_.state as state95_9_ from mplan_notice mplannotic0_ left outer join mplan_notice_job mplannotic1_ on mplannotic0_.id=mplannotic1_.{notice_id} left outer join org_job job2_ on mplannotic1_.{job_id}=job2_.id left outer join mplan_notice_person mplannotic3_ on mplannotic0_.id=mplannotic3_.{notice_id} left outer join org_person person4_ on mplannotic3_.{person_id}=person4_.id left outer join mplan_notice_position mplannotic5_ on mplannotic0_.id=mplannotic5_.{notice_id} left outer join org_position position6_ on mplannotic5_.{position_id}=position6_.position_id left outer join scy_user user7_ on mplannotic0_.operate_user=user7_.id left outer join org_person person8_ on user7_.person_id=person8_.id left outer join res_dictionary dictionary9_ on mplannotic0_.plantype=dictionary9_.DICT_ID left outer join res_dictionary_type dictionary10_ on dictionary9_.dict_type_id=dictionary10_.DICT_TYPE_ID where mplannotic0_.id=?]; nested exception is org.hibernate.exception.SQLGrammarException: could not load an entity: [com.thinkwin.mlcm.mplan.po.MplanNotice#1]

5个回答

吃完了,回来就好像发现是什么问题了
{notice_id}
直接写notice_id

那就把注解写到属性上试试

你把import都换成hibernate包的呢?

在不行,在
CascadeType.PERSIST 后面加上CascadeType.merge

吃个饭,回来再试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
hibernate一对多级联保存更新出问题,但可以级联删除

hibernate级联删除可以,但是级联保存和更新都不行,是配错了什么吗, @ManyToOne @JoinColumn(name = "customerId") @Cascade({ CascadeType.ALL }) @OneToMany(fetch = FetchType.EAGER) @JoinColumn(name = "customerId") @Cascade({ CascadeType.ALL })

hibernate一对多级联保存问题

这是两个类 这是一端 ``` @Entity public class Payroll implements Serializable{ /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.AUTO) @Column private long pid; @Column private long sid; //结账日期 @Column private Timestamp date; //累结 @Column private double totalSum; //结余 @Column private double balance; //伙食费用 @Column private double boardWages; //扣款 @Column private double deduct; //欠款 @Column private double debt; ///预支 @Column private double advance; //薪水细则 @OneToMany(mappedBy="payroll",cascade = CascadeType.ALL, fetch = FetchType.LAZY) @Column private List<PayrollRow> payrollRow; public long getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public double getTotalSum() { return totalSum; } public void setTotalSum(double totalSum) { this.totalSum = totalSum; } public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } public double getBoardWages() { return boardWages; } public void setBoardWages(double boardWages) { this.boardWages = boardWages; } public double getDeduct() { return deduct; } public void setDeduct(double deduct) { this.deduct = deduct; } public double getDebt() { return debt; } public void setDebt(double debt) { this.debt = debt; } public double getAdvance() { return advance; } public void setAdvance(double advance) { this.advance = advance; } public Timestamp getDate() { return date; } public void setDate(Timestamp date) { this.date = date; } public long getPid() { return pid; } public void setPid(long pid) { this.pid = pid; } public List<PayrollRow> getPayrollRow() { return payrollRow; } public void setPayrollRow(List<PayrollRow> payrollRow) { this.payrollRow = payrollRow; } public void setSid(long sid) { this.sid = sid; } } ``` 这是多端 ``` @Entity @Table(name = "payroll_row") public class PayrollRow implements Serializable{ /** * */ private static final long serialVersionUID = 1L; @Id @Column private long prid; @Column(name="style_number") private String styleNo; @Column private String process; @Column private int count; @Column private double cost; @Column private double amount; @ManyToOne(cascade=CascadeType.REFRESH,optional=false,fetch = FetchType.LAZY) @JoinColumn(name="pid") private Payroll payroll; public Payroll getPayroll() { return payroll; } public void setPayroll(Payroll payroll) { this.payroll = payroll; } public String getStyleNo() { return styleNo; } public void setStyleNo(String styleNo) { this.styleNo = styleNo; } public String getProcess() { return process; } public void setProcess(String process) { this.process = process; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public double getCost() { return cost; } public void setCost(double cost) { this.cost = cost; } public double getAmount() { return amount; } public void setAmount(double amount) { this.amount = amount; } public long getPrid() { return prid; } public void setPrid(long prid) { this.prid = prid; } } ``` 一开始将PayrollRow的list赋值给Payroll一端只保存一端失败 后来把PayrollRow里面的Payroll进行赋值 两者关联起来 结果还是只保存了Payroll的数据 请问何解 还有我如果想只通过一端保存来保存两个表的信息该怎么做 谢谢 按一楼修改后执行如下语句 ``` payroll.setPid(30); List<PayrollRow> pwl = payroll.getPayrollRow(); for (int i = 0;i<pwl.size();i++) { pwl.get(i).setPayroll(payroll); } payroll.setPayrollRow(pwl); payrollService.save(payroll); ``` 结果控制台输出的sql语句没有insert 只有这 Hibernate: select payrollrow_.prid, payrollrow_.amount as amount2_5_, payrollrow_.cost as cost3_5_, payrollrow_.count as count4_5_, payrollrow_.payroll_id as payroll_7_5_, payrollrow_.process as process5_5_, payrollrow_.style_number as style_nu6_5_ from payrollrow payrollrow_ where payrollrow_.prid=?

hibernate 一对多级联保存问题

hibernate 一对多级联保存时,保存完一方和多方的对象后,怎又去更新多方的对象,为何?不明白,请教下 [b]问题补充:[/b] 是级联保存的,hibernate会先保存一方对象,再保存多方对象,再又去更新多方的所有对象,我想知道Hibernate这样做的用意何在?

hibernate是如何生成sql语句的

比如就那保存操作来说,给一条程序运行时由hibernate产生的sql语句: insert into t_api_access_log (accessTime, apiID, apiName, cost, createTime, resultCode, returnCnt, userID, userName, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 上面的sql语句中 id字段为什么会在最后边?而不是在第一个位置?到底是如何生成这条sql语句的?(是根据实体类的属性顺序么?)

hibernate一对多级联保存机制是什么

Configuration configuration = new Configuration().configure(); SessionFactory sessionFactory = configuration.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); Order order = new Order(); order.setOrderName("订单2"); Ticket ticket = new Ticket("优惠券1",order); Ticket ticket1 = new Ticket("优惠券2",order); order.getTickets().add(ticket); order.getTickets().add(ticket1); session.save(order); transaction.commit(); session.close(); sessionFactory.close(); ``` 我明明只执行了订单order的save操作,其中一个order对应多个ticket优惠券,为什么输出的sql中 是执行了对应的三个insert语句后,又执行了两次ticket优惠券的update?这里的update语句是干啥的,一对多级联保存机制是什么 ``` 这是打印的sql: Hibernate: insert into bc_order (orderName) values (?) Hibernate: insert into bc_ticket (ticketName, orderId) values (?, ?) Hibernate: insert into bc_ticket (ticketName, orderId) values (?, ?) Hibernate: update bc_ticket set orderId=?, p_index=? where ticketId=? Hibernate: update bc_ticket set orderId=?, p_index=? where ticketId=?

hibernate生成sql语句没有问题,但是不该为空却一直为空。

_hibernate生成sql语句在数据库里执行没有问题,有唯一一条数据(count(*)),但是在转换类型的时候一直报空:For input string: "{}"。在清清除tomcat缓存,重启eclipse后问题依然不解。因为其他的action都有用过这个相同的方法,却没有问题。现在这个暂时想不出。_ 请大神帮帮忙。

hibernate用sql语句查询的问题

我的问题是:如何用hibernate查询类似于 sql 的 select username, count(*) num from user 里面的num列的临时数据。并且如何封装。谢谢。。。。。。不知道我说清楚不、、、、、着急等待中。。。。谢谢各位了先。。。 [b]问题补充:[/b] 我是想 在用hibernate查询出的list数据里面如何把 num提取出来。。。 谢谢大家 我不会 给个思路 谢谢。。。

如何查到hibernate.show_sql里面的sql语句是哪段代码生成的?

简单说就是,如何知道hibernate生成的sql是代码里面的那一行执行的? 就像抛出异常一样,可以知道是在哪个文件,哪一行出错。 hibernate可以吗?

hibernate注解多对多级联保存怎么解

@ManyToMany(mappedBy="sysUsers",cascade={CascadeType.PERSIST,CascadeType.MERGE}) private Set<SysDept> sysDept = new HashSet<SysDept>(0); //部门 @ManyToMany( cascade={CascadeType.PERSIST,CascadeType.MERGE},fetch=FetchType.EAGER) @JoinTable(name="sys_user_depart" ,joinColumns={@JoinColumn(name="departId")},inverseJoinColumns={@JoinColumn(name="userId")}) @OrderBy("id ASC") private Set<SysUsers> sysUsers = new HashSet<SysUsers>(0); 有一张中间表 为什么不能级联保存

hibernate 查询语句的sql在哪里

![图片说明](https://img-ask.csdn.net/upload/202001/02/1577931341_915241.jpg) ![图片说明](https://img-ask.csdn.net/upload/202001/02/1577931374_853370.jpg) ![图片说明](https://img-ask.csdn.net/upload/202001/02/1577931469_388409.png) 想新增一个获取数据库字段为level 的方法,新增之后报错。公司以前的项目没有用过hibernate 这个查询方式是什么 是不是查询语句中 没有对应的字段 这个应该在哪找 小白 求解答

怎么用Hibernate写SQL里的in式的子查询

select * from tableA where tableA.Id in (select Id from tableA where tableA.name like "M%") 大家帮我看看用Hibernate里的DetachedCriteria和Subqueries等来把上面的SQL转为Hibernate的查询条件呢? 谢谢 [b]问题补充:[/b] 不想用hql,那样得拼字符串, 现在项目的条件不是固定的, 而是从数据字典里拿出来的, 拼字符串要改的太多了.

Hibernate的根据实体自动生成表

刚学hibernate,有很多地方不是很懂,跟着视频敲,但那个视频用的是ecplise,我用的是Myecplise,然后 他可以创建一个hbm.xml指明映射关系,然后我不行,我只能根据实体创建出表,然后我在Hibernate.cfg.xml中加入了 <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.url">jdbc:mysql://localhost:3306/websourse</property> <property name="connection.username">root</property> <property name="connection.password">123456</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="myeclipse.connection.profile">TTT</property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hibernate.hbm2ddl.auto">create</property> <mapping class="Students"></mapping> 然后在websource中也没见到这张表![不知道哪里有问题](https://img-ask.csdn.net/upload/201701/10/1484045291_40259.png)

用hibernate实现sqlserver分页的问题

下面这段伪代码,当显示第一页的时候正常,但是第二页开始就会报错了,错误是: org.hibernate.exception.SQLGrammarException: could not extract ResultSet Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: 除非另外还指定了 TOP、OFFSET 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。 ``` String sql="select sd.sensorInputDataID as 数据ID,e.equipmentName as 设备名,sd.date as 日期 "+ "from SensorInputData as sd left join Sensor as s on sd.sensorId=s.sensorId left join EquipmentMessage as e on s.equipmentId=e.equipmentId "+ "where sd.date between '2015/08/13 00:00:00' and '2015/08/13 23:59:59' and e.equipmentName like'%设备5%' union "+ "select sd.sensorInputDataID as 数据ID,e.equipmentName as 设备名,sd.date as 日期 "+ "from SensorInputData as sd left join Sensor as s on sd.sensorId=s.sensorId left join EquipmentMessage as e on s.equipmentId=e.equipmentId "+ "where sd.date between '2015/08/13 00:00:00' and '2015/08/13 23:59:59' and e.area like'%设备5%' order by sd.date asc"; session.createSQLQuery(sql).setFirstResult((pageNow-1)*pageSize).setMaxResults(pageSizeInt).list(); ```

Hibernate或者 Java 怎样运行xxx.sql的脚本文件,,,

在公司的项目中看到有一些xxx.sql的脚本文件,而且在启动项目时看日志发现确实运行 了这些sql脚本文件,而且项目中有一些看不懂的类和方法,我在猜测这些类是否与 执行sql脚本文件相关,所以希望大侠帮助我解答下 Hibernate或者 Java 怎样运行xxx.sql的脚本文件,验证一下我的猜想,,

Hibernate一对多双向关联,如何才能级联时保存而不更新?

<p>我是一个菜鸟,我在学习Hibernate时遇到一个问题: <br />比如两个类Class(教室),Student(学生)是一对多的关系。并且双向关联,而在Classes的hbm映射中包含Student的set中有属性inverse=true和cascade=all。如果Class中有一个属性需要更新,然后调用了session.update(class);的方法进行更新。Class的那个属性的确是更新了,但是同样也把Class关联的所有的Student更新了一次,比如Class中有60个Student就多更新了60次。但是其实Student中并没有属性改动的。那多发出了这么多更新的SQL语句,肯定要影响性能,我想问问这应该怎么办呀。怎么才能在更新Class时不级联更新Student呢?Classes必须要级联保存Student,但是不需要更新,应该怎么做啊? <br /></p> <p> </p><br /><strong>问题补充:</strong><br />cascade没有save的属性吧

Hibernate 查看SQL语句

Hibernate 我通过?占位符传入的参数 通过控制台可到的SQL语句如下 SELECT COUNT(1) AS COUNT FROM SystemMenu WHERE 1 = 1 AND name = ? 我想看到它生成的全部SQL如果做到 有什么工具 或者需要配置哪些东西 可以看到它发送到数据库的SQL 比如要看到 SELECT COUNT(1) AS COUNT FROM SystemMenu WHERE 1 = 1 AND name = ‘张三’

hibernate奇怪的查询问题,生成的sql能够查询出三条子表数据,但是主vo里的子表对象集只有一条

先看配置文件: 主表: [code="java"] <set name="exPartPurchaseBillBs" inverse="true" lazy="false" sort="natural" cascade="all-delete-orphan" where="status!=0"> <key> <column name="source_bill_id" /> </key> <one-to-many class="com.col.kobelco.exservice.agentpart.purchase.bean.ExPartPurchaseBillB" /> </set>[/code] 子表: [code="java"] <many-to-one name="sourceBillId" class="com.col.kobelco.exservice.agentpart.purchase.bean.ExPartPurchaseBill" fetch="select"> <column name="source_bill_id" /> </many-to-one>[/code] vo类: [code="java"] public Set<?> getExPartPurchaseBillBs() { return exPartPurchaseBillBs; } public void setExPartPurchaseBillBs(Set<ExPartPurchaseBillB> exPartPurchaseBillBs) { this.exPartPurchaseBillBs = exPartPurchaseBillBs; System.out.println(exPartPurchaseBillBs.size()); }[/code] Hibernate生成的sql如下(查询子表的sql): Hibernate: select expartpurc0_.source_bill_id as source3_1_, expartpurc0_.bill_id as bill1_1_, expartpurc0_.bill_id as bill1_246_0_, expartpurc0_.ts as ts246_0_, expartpurc0_.source_bill_id as source3_246_0_, expartpurc0_.part_id as part4_246_0_, expartpurc0_.part_no as part5_246_0_, expartpurc0_.part_name as part6_246_0_, expartpurc0_.part_unit_name as part7_246_0_, expartpurc0_.quantity as quantity246_0_, expartpurc0_.unit_price as unit9_246_0_, expartpurc0_.price as price246_0_, expartpurc0_.complete_quantity as complete11_246_0_, expartpurc0_.debt_quantity as debt12_246_0_, expartpurc0_.depot_id as depot13_246_0_, expartpurc0_.depot_name as depot14_246_0_, expartpurc0_.remark as remark246_0_, expartpurc0_.status as status246_0_ from emisdemothree.ex_part_purchase_bill_b expartpurc0_ where ( expartpurc0_.status!=0) and expartpurc0_.source_bill_id=? 到mysql中执行查找出三条数据 但是打印出的数据为1,真不晓得是因为啥子原因了,求解答!!!!

sqlserver数据库hibernate主键生成策略问题

sqlserver数据库,用hibernate。表的主键int型,主键生成策略选择native型,save的时候报 “不能将值 NULL 插入列 'ID'。如何解决。如果我选择increment就不报错,但increment不支持集群。native为什么不行呢??如何修改 ?? <id name="id" type="java.lang.Integer" > <column name="ID" /> <generator class="native" /> </id> 如何配置呢??

如何将Hibernate生成的SQL语句打印到日志文件?

我在目前的项目中有这样的问题,我用Eclipse调试程序,控制台的日志可以打印输出到一个日志文件中,但是在控制台中显示的Hibernate生成的SQL语句输出不到这个文件,请问这是为什么?以下是我项目的log4j配置文件: log4j.rootLogger=INFO, stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m - [%l]%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=simECDS.log log4j.appender.R.MaxFileSize=5120KB log4j.appender.R.MaxBackupIndex=20 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m - [%l]%n log4j.appender.R.Encoding=UTF-8 log4j.logger.org.hibernate=WARN log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN log4j.logger.org.hibernate.type=WARN log4j.logger.org.apache.commons=ERROR 请大家赐教,谢谢~~~

hibernate一对多双向级联问题,删除数据问题

有三个类 班级 classes 小组 group 学生 student 班级和小组是一对多双向级联 小组和学生是一对多双向年级联 在hibernate做删除小组操作时,会把不相关的班级信息全部删掉,还会报错 Could not execute JDBC batch update 感觉应该是注解写的有问题 配置如下 classes{ List<group> list; @OneToMany( cascade = CascadeType.ALL, fetch = FetchType.LAZY) public List<group> getList() { return symbols; } public void setSymbols(List<group> list) { this.list = list; } } group{ private classes cl; private List<student> list; @OneToMany( cascade = CascadeType.ALL, fetch = FetchType.LAZY) public List<student> getList() { return symbols; } public void setSymbols(List<student> list) { this.list = list; } @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) public classes getCl() { return cl; } public void setClasses(classes cl) { this.cl = cl; } } student{ private group gp; @ManyToOne( cascade = CascadeType.ALL, fetch = FetchType.LAZY) public group getGp() { return gp; } public void setGp(group gb) { this.gp = gp; } }

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

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

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

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

ArrayList源码分析(入门篇)

ArrayList源码分析 前言: 写这篇博客的主要原因是,在我上一次参加千牵科技Java实习生面试时,有被面试官问到ArrayList为什么查找的速度较快,插入和删除的速度较慢?当时我回答得不好,很大的一部分原因是因为我没有阅读过ArrayList源码,虽然最后收到Offer了,但我拒绝了,打算寒假学得再深入些再广泛些,下学期开学后再去投递其他更好的公司。为了更加深入理解ArrayList,也为

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

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

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

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

和黑客斗争的 6 天!

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

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

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

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

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

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

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

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

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

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

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

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

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

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

玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。 这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目: 还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈! 于是出于最初的好奇,研究了项目的源代码。看到

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

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

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

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

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

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

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

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

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

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

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

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

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

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

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

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

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

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

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

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

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

立即提问
相关内容推荐