java pojo类的属性和表的字段要设计的一样吗

java pojo类的属性和表的字段要设计的一样吗?不一定说名字一模一样,就是是不是要一一对应

如果名字不是一样的,比如数据库字段名时user_name,但是pojo的属性名是userName,你可以这样写:
@column(name="user_name")
private String userName;
也就是说在属性或者属性的方法上用注解标注一下其对应的数据库字段,不标注的话默认是和数据库一样的。

就像一楼那样就可以了,不需要一模一样

MySQL的话一定要一样,否则报错。这个pojo类的成员变量,会去映射到数据库的字段的,要是不一样,那么这个字段该存到数据库的那个字段呢??

不用一 一对应的。顺序可以随便写。

pojo(简单的Java对象),不是必须的,需要手动去配置映射关系

看你使用什么持久层框架,一般所有的持久层框架都会解决列名和属性名不一致的问题。因为很多系统无法保证两者完全一致。
比如在myBatis中,如果要填充的pojo属性和数据库列名完全一致,可采用resultType。如果出现不一致的情况下,系统并不会报错,只是pojo的属性会填充成null。
如果出现不一致的情况下怎么办呢?用reslutMap映射一下就解决了。
可以参考这篇文章《【MyBatis学习07】输出类型resultType及输出参数映射resultMap 》

不需要一模一样,数据库列名在注解里指定的