标签: entity

更新实体列表的有效方法

我正在开发一个允许用户编辑实体列表的项目.我将这些实体映射到视图模型并使用编辑器字段显示它们.当用户按下提交按钮时,我会浏览每个模型并进行更新,如下所示:

foreach (var viewModel in viewModels)
{
    //Find the database model and set the value and update
    var entity = unit.EntityRepository.GetByID(fieldModel.ID);
    entity.Value = viewModel.Value;
    unit.EntityRepository.Update(entity);
}
Run Code Online (Sandbox Code Playgroud)

上面的代码可以工作,但是你可以看到我们需要为每个实体命中两次数据库(一次检索,另一次更新).使用Entity Framework有更有效的方法吗?我注意到每个更新都会生成一个单独的SQL语句.循环结束后是否有提交所有更新的方法?

c# sql asp.net-mvc entity entity-framework

27
推荐指数
2
解决办法
4万
查看次数

在LINQ to Entities中实例化上下文

我已经看到了程序员在代码中创建实体上下文时所采用的两种不同方式.

第一个是这样的,你可以在MSDN代码示例中找到它:

public void DoSomething() {
     using (TaxableEducationEntities context = new TaxableEducationEntities()) {
          // business logic and whatever else
     }
}
Run Code Online (Sandbox Code Playgroud)

第二种是在一些封装了业务逻辑的类中将上下文创建为私有属性.所以你会有类似的东西:

public class Education_LINQ {

        private TaxableEducationEntities context = new TaxableEducationEntities();

        public void DoSomething() {
            var result = from a in context.luAction
                         select a;

            // business logic and whatever else
        }
}
Run Code Online (Sandbox Code Playgroud)

哪种方式更有效?

假设您有两个方法,一个名为DoSomething1(),另一个名为DoSomething2(),两个方法都包含using语句来打开上下文并对其执行任何操作.你是否一个接一个地调用一个方法,是否会有任何多余的开销,因为基本上两个方法都创建了上下文,然后在它们完成后清理它?而不是只有一个私有属性在实例化类对象时创建,然后在对象超出范围时进行清理?

linq linq-to-entities entity entity-framework

26
推荐指数
1
解决办法
1万
查看次数

检查谷歌应用引擎数据存储区中是否存在实体.

检查实体是否存在于Google-app-engine数据存储区中的最佳/最快方法是什么?现在我试图通过键获取实体并检查get()是否返回错误.

我不知道在数据存储区上获取实体的过程.有没有更快的方法只做这个检查?

java google-app-engine entity google-cloud-datastore

26
推荐指数
2
解决办法
1万
查看次数

JPA实体ID - 长或长

您的实体的ID应该是(原始类型)还是(对象类型)?

  • ID是我的表的主键,在数据库中永远不会为"null".
  • 我的同事建议使用对象类型长.
  • Hibernate Reverse Engeneering工具默认为id生成一个long类型.

选择什么?长还是长?

@Entity
@Table(name = "COUNTRY")
public class CountryEntity implements java.io.Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "ID")
    private long id;
    @Column(name = "NAME")
    private String name;
    @Column(name = "CURRENCY")
    private String currency;
    @Column(name = "PEOPLE")
    private Long people;
    @Column(name = "SIZE")
    private Long size;

    public CountryEntity() {
    }
Run Code Online (Sandbox Code Playgroud)

entity types hibernate jpa long-integer

26
推荐指数
2
解决办法
2万
查看次数

更新实体框架对象

我使用数据传输对象在实体框架和业务层和用户层之间传输数据.我有一些疑问,如果我检索一个转换为DTO的对象,我如何在实体框架中更新正确的对象而不只是插入一个副本?

entity entity-framework

24
推荐指数
3
解决办法
4万
查看次数

Symfony2表单实体更新

谁能告诉我一个Symfony2表单实体更新的具体示例?本书仅介绍如何创建新实体.我需要一个如何更新现有实体的示例,其中我最初在查询字符串上传递实体的id.

我无法理解如何在检查帖子的代码中再次访问表单而无需重新创建表单.

如果我重新创建表单,这意味着我还必须再次查询该实体,这似乎没有多大意义.

这是我目前所拥有的,但它不起作用,因为它在表单发布时覆盖实体.

public function updateAction($id)
{
    $em = $this->getDoctrine()->getEntityManager();
    $testimonial = $em->getRepository('MyBundle:Testimonial')->find($id);
    $form = $this->createForm(new TestimonialType(), $testimonial);

    $request = $this->get('request');
    if ($request->getMethod() == 'POST') {
        $form->bindRequest($request);

        echo $testimonial->getName();

        if ($form->isValid()) {
            // perform some action, such as save the object to the database
            //$testimonial = $form->getData();
            echo 'testimonial: ';
            echo var_dump($testimonial);
            $em->persist($testimonial);
            $em->flush();

            return $this->redirect($this->generateUrl('MyBundle_list_testimonials'));
        }
    }

    return $this->render('MyBundle:Testimonial:update.html.twig', array(
        'form' => $form->createView()
    ));
}
Run Code Online (Sandbox Code Playgroud)

forms entity symfony

24
推荐指数
2
解决办法
5万
查看次数

@Entity和@embeddable有什么区别

@entity和@embeddable注释在类声明之前添加每个注释时的区别?

  1. 第一个创建类作为实体,第二个插入列来自另一个表?
  2. 第一个创建类作为表,而第二个是嵌入另一个类?
  3. 第一个将标准设置为类,第二个定义表类型
  4. 该类的第一个创建表,第二个将一些东西嵌入到不同的类中
  5. 第一个定义表属性,第二个创建两个表的并集

java entity hibernate java-ee

24
推荐指数
3
解决办法
3万
查看次数

无法构建ClassFile - ArchiveException

我们使用spring,jpa,tomcat,maven等开发应用程序.

在我的开发人员机器上本地一切正常,但当我们在Linux服务器上部署应用程序时,我得到以下异常:

org.hibernate.jpa.boot.archive.spi.ArchiveException: Could not build ClassFile
    org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.toClassFile(ClassFileArchiveEntryHandler.java:88)
    org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.handleEntry(ClassFileArchiveEntryHandler.java:65)
    org.hibernate.jpa.boot.archive.internal.JarFileBasedArchiveDescriptor.visitArchive(JarFileBasedArchiveDescriptor.java:176)
    org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:72)
    org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.scan(EntityManagerFactoryBuilderImpl.java:723)
    org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:219)
    org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:186)
    org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider$1.<init>(SpringHibernateJpaPersistenceProvider.java:49)
    org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:49)
    org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:341)
    org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318)
    org.domain.application.persistence.repository.DataSourceConfiguration.entityManagerFactory(DataSourceConfiguration.java:78)
    org.domain.application.persistence.repository.DataSourceConfiguration$$EnhancerBySpringCGLIB$$52a56856.CGLIB$entityManagerFactory$0(<generated>)
    org.domain.application.persistence.repository.DataSourceConfiguration$$EnhancerBySpringCGLIB$$52a56856$$FastClassBySpringCGLIB$$44eff5a3.invoke(<generated>)
    org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:312)
    org.domain.application.persistence.repository.DataSourceConfiguration$$EnhancerBySpringCGLIB$$52a56856.entityManagerFactory(<generated>)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    java.lang.reflect.Method.invoke(Method.java:483)
    org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:166)
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:590)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1113)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1008)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
    org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:636)
    org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:446)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1113)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1008)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:276)
    org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:129)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1471)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1216)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1081)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1006)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:904)
    org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815)
    org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:743)
    org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:185)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1133)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1036)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:505)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
    org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1081)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1006)
    org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:904)
    org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514)
    org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
    org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:323)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1204)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:538)
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) …
Run Code Online (Sandbox Code Playgroud)

orm spring entity hibernate jpa

24
推荐指数
5
解决办法
2万
查看次数

JPA @Entity注释的确切含义是什么?

我正在Spring应用程序中学习JPA,我对@Entity注释有一些疑问.

所以我有一个这样的模型类:

@Entity
@Table(name= “T_CUSTOMER”)
public class Customer {

    @Id
    @Column(name=“cust_id”)
    private Long id;

    @Column(name=“first_name”)
    private String firstName;

    @Transient
    private User currentUser;

    ...........................
    ...........................
    ...........................
}
Run Code Online (Sandbox Code Playgroud)

好的,我知道@Entity注释是在类级别上,这意味着作为此类实例的对象的字段将映射到T_CUSTOMER数据库表的字段.

但是为什么在JPA中必须使用@Entity注释,我不仅可以使用@Table注释将模型对象映射到特定的数据库表?它有一些其他意义\行为,实际上我错过了?

我错过了什么?@Entity注释的确切含义是什么?

entity annotations jpa

24
推荐指数
1
解决办法
3万
查看次数

分离的实体和托管实体

什么是"独立实体"意味着什么?如何在交易期间将管理实体转换为分离实体?

java database entity ejb jpa

23
推荐指数
3
解决办法
2万
查看次数