Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Hibernate:未将值插入数据库_Java_Spring_Hibernate_Database Management - Fatal编程技术网

Java Spring Hibernate:未将值插入数据库

Java Spring Hibernate:未将值插入数据库,java,spring,hibernate,database-management,Java,Spring,Hibernate,Database Management,我似乎无法向表中添加值。没有错误,但这些值没有插入到我的数据库中。提交表单后,不会显示任何错误 查看控制台时,这显示: Hibernate: insert into referral (address, doctor_contact_no, doctor_name, facility_contact_no, facility_type, referral_no, referring_from, referring_to) values

我似乎无法向表中添加值。没有错误,但这些值没有插入到我的数据库中。提交表单后,不会显示任何错误

查看控制台时,这显示:

Hibernate: 
    insert 
    into
        referral
        (address, doctor_contact_no, doctor_name, facility_contact_no, facility_type, referral_no, referring_from, referring_to) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?)
我已经尝试过登录,以防我的控制器无法读取我提交的表单

我正在保存的实体/模型的代码段

@Entity
@Table(name="referral")
public class Referrals {
    @Id
    @Column
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;

    @Column
    private String referral_no;
    @Column
    private String facility_contact_no;
    @Column
    private String referring_from;
    @Column
    private String referring_to;
    @Column
    private String facility_type;
    @Column
    private String address;
    @Column
    private String doctor_name;
    @Column
    private String doctor_contact_no;' 
我的服务类的代码片段

@Service
@Transactional
public class ReferralServicesImpl implements ReferralServices{
    @Autowired
    private ReferralDao referralDao;

    public List<Referrals> list(){
        return referralDao.list();
    }
    public boolean saveReferral(Referrals referral){

        if(referralDao.saveReferral(referral))
            return true;
        else
            return false;
    }
}
这是ReferralDao类

public interface ReferralDao {
    public boolean saveReferral(Referrals referral);
    public List<Referrals> list();
}
但是导致了这个错误

`saveOrUpdate is not valid without active transaction`
servlet-context.xml中的代码片段

<tx:annotation-driven transaction-manager="transactionManager" />
    <beans:bean id="transactionManager"  class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <beans:property name="sessionFactory" ref="sessionFactory" />
    </beans:bean>

尝试使用以下代码

 Session s = sessionFactory.getCurrentSession();
 s.save(object);
尝试使用下面的代码

 Session s = sessionFactory.getCurrentSession();
 s.save(object);

你能分享你的ReferralDao类吗?hi@shubham添加了ReferralDao类不要调用beginTransaction()。您的方法是事务性的,Spring为您处理事务。另外,请遵守Java命名约定,不要将复数形式用于应该是单数的东西(reference、refereralservices)。最后,DAO saveReferral方法应该返回void。这个布尔始终为真的返回值是无用的和令人困惑的。那么,我应该只使用“trans=session.getCurrentSession();”吗@JBNizeti尝试使用
trans=session.getCurrentSession().getTransaction()
但导致此错误
如果没有活动事务,则saveOrUpdate无效
@JBNizetcan u共享您的ReferralDao类吗?hi@shubham添加了ReferralDao类不调用beginTransaction()。您的方法是事务性的,Spring为您处理事务。另外,请遵守Java命名约定,不要将复数形式用于应该是单数的东西(reference、refereralservices)。最后,DAO saveReferral方法应该返回void。这个布尔始终为真的返回值是无用的和令人困惑的。那么,我应该只使用“trans=session.getCurrentSession();”吗@JBNizeti尝试使用
trans=session.getCurrentSession().getTransaction()
但导致此错误的原因是
如果没有活动事务,saveOrUpdate无效
@jbnizet虽然此代码片段可以解决问题,但确实有助于提高文章质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您的代码建议的原因。虽然此代码片段可以解决问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
<tx:annotation-driven transaction-manager="transactionManager" />
    <beans:bean id="transactionManager"  class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <beans:property name="sessionFactory" ref="sessionFactory" />
    </beans:bean>
 Session s = sessionFactory.getCurrentSession();
 s.save(object);