这是我上一个问题的后续行动.
一旦我解决了引用的问题,我遇到了另一个非常奇怪的问题.基本上,我在表单上的按钮后面有以下内容:
Dim attachmentField As DAO.Field2
attachmentField = Recordset("Att")
Run Code Online (Sandbox Code Playgroud)
我现在已经链接了引用,在第二行放置了一个断点并在Recordset("Att")上添加了一个监视.当执行在断点处停止时,我可以从监视器中看到Recordset("Att")返回Variant/Object/Field2类型的值,并且该字段包含了我期望的内容.
但当我跨过第二行(允许它执行)时,会弹出以下错误:" 对象变量或未设置块变量 "
当然,attachmentField在完成时分配了Nothing.我错过了什么?
我正在开发一个项目,我们需要决定如何公开我们的持久层.
目前桌面上有两个选项:
1)使用普通DAO.这些将实现一个接口,并在作为EJB的业务组件中注入(可能使用Weld).在内部,他们会使用JPA/Hibernate来实现持久性.
2)不是使用Weld注入DAO,而是将它们实现为EJB,并在业务组件中注入@EJB.
当我们不使用其功能时(例如,事务管理 - 业务层处理此问题),将EJB用于持久层是否真的有意义?
使用EJB over Weld(或反过来)是否有任何性能损失?
您认为哪种选择最好?
使用MVC结构和业务对象/DAO 体系结构处理业务应用程序.对于任何普通的业务对象,CRUD函数都相当简单.但是,处理像"客户是用户"这样的亲子关系的最佳方式是什么?
我知道涉及以下课程:
User, UserDAO, Customer, CustomerDAO
Run Code Online (Sandbox Code Playgroud)
该Customer班可从继承User就好了,但你如何最好的DAO CRUD功能体现呢?
我应该在哪里打开和关闭与存储库的连接?在文章" 不要重复DAO "中写道:
DAO不负责处理事务,会话或连接.这些是在DAO之外处理的,以实现灵活性.
但有些人建议我将@Resource DataSource对象注入DAO类并处理DAO方法中的所有连接...即每个CRUD操作都应该打开和关闭与存储库的连接.
我已经创建了 Dropwizard Resource 并将其映射到 REST API。现在我想从我的代码中的其他点重用这个资源 API 作为 JAVA API。我该怎么做?
这是资源类:
@Path("/providers_new")
public class ProviderResource {
private ProviderDAO dao;
public ProviderResource(ProviderDAO dao) {
this.dao = dao;
}
@GET
@Path("/get")
@Produces("application/json")
public List<Provider> getAll() {
return dao.getAllProviders();
}
}
Run Code Online (Sandbox Code Playgroud)
请注意 ProviderResource 是用 dao 初始化的:
public class EntitiesService extends Service<EntitiesServiceConfiguration> {
public static void main(String[] args) throws Exception {
new EntitiesService().run(args);
}
@Override
public void initialize(Bootstrap<EntitiesServiceConfiguration> bootstrap) {
bootstrap.setName("entities");
...
}
@Override
public void run(EntitiesServiceConfiguration configuration,
Environment environment) throws ClassNotFoundException {
final …Run Code Online (Sandbox Code Playgroud) 希望简单的问题:
或者我可以只使用DAO并执行以下操作:
ObjectFromDb ob = dao.find(someProperty);
鉴于ObjectFromDb只是一个没有单个JPA注释的常规POJO?
我把它谷歌了一会儿,但它似乎是太具体的问题......
感谢任何建议!
我的spring托管tomcat应用程序遇到了一些麻烦.有一个UserDao负责一些用户数据库操作.如果我启动tomcat,我收到此消息:
Thread [pool-2-thread-1] (Class load: UserDao)
Class<T>.getDeclaredConstructors0(boolean) line: not available [native method]
Class<T>.privateGetDeclaredConstructors(boolean) line: not available
Class<T>.getDeclaredConstructors() line: not available
AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(Class<?>, String) line: 229
DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).determineConstructorsFromBeanPostProcessors(Class, String) line: 962
DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBeanInstance(String, RootBeanDefinition, Object[]) line: 935
DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).doCreateBean(String, RootBeanDefinition, Object[]) line: 485
DefaultListableBeanFactory(AbstractAutowireCapableBeanFactory).createBean(String, RootBeanDefinition, Object[]) line: 456
AbstractBeanFactory$1.getObject() line: 294
DefaultListableBeanFactory(DefaultSingletonBeanRegistry).getSingleton(String, ObjectFactory) line: 225
DefaultListableBeanFactory(AbstractBeanFactory).doGetBean(String, Class<T>, Object[], boolean) line: 291
DefaultListableBeanFactory(AbstractBeanFactory).getBean(String) line: 193
DefaultListableBeanFactory.preInstantiateSingletons() line: 605
XmlWebApplicationContext(AbstractApplicationContext).finishBeanFactoryInitialization(ConfigurableListableBeanFactory) line: 925
XmlWebApplicationContext(AbstractApplicationContext).refresh() line: 472
ContextLoaderListener(ContextLoader).configureAndRefreshWebApplicationContext(ConfigurableWebApplicationContext, ServletContext) line: 383
ContextLoaderListener(ContextLoader).initWebApplicationContext(ServletContext) line: 283
ContextLoaderListener.contextInitialized(ServletContextEvent) line: 111
StandardContext.listenerStart() line: …Run Code Online (Sandbox Code Playgroud) 我正在学习javaEE.在我提出注释之前OneToMany,ManyToOne一切都运转良好.但后来我看到了这个错误:
信息:HHH000327:执行加载命令时出错:org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[app.web.landingpage.object.Category#28] getIndexPost org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[app.web.landingpage.object.Category#28]
我无法选择有关db或insert的所有信息.我使用模式DAO,Hibernate
类别
@Entity
@Table(name="CATEGORY")
public class Category {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "ID", insertable=false, nullable=false)
private int id;
@Column(name="NAMECAT")
private String nameCat;
@Column(name="INDEX")
private boolean index;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "category")
private Set<Posts> post;
//then get and set
Run Code Online (Sandbox Code Playgroud)
帖子
@Entity(name="Posts")
@Table(name="POSTS")
public class Posts implements java.io.Serializable{
private static final long serialVersionUID = 1L;
@Id @GeneratedValue
@Column(name = "ID", unique = true, nullable = false)
private int id;
@Column(name="NAMEPOST", nullable = false) …Run Code Online (Sandbox Code Playgroud) 在 Spring 文档中,有一个声明称@Repository注释可以实现“异常转换”,但没有提供其他详细信息。
这个功能是什么以及它是如何工作的?
我正在使用带有 Room Lib 的 Android Studio,但有一个小问题。我的实体类有一个名为“numUsage”(整数)的值但我不知道如何编写我的 DAO-Query 以获取具有 MAX/MIN(numUsage) 的一行/条目的 LiveData
所以基本上我想知道最高和最低数字的对象/条目。
Fe 条目号。1 有 5 numUsage Points Entry Number。2 有 2 个 numUsage 点
我想获得第 1 个条目的所有信息 - 因为它具有最高分。
我试过类似的东西
@Query("SELECT * FROM subscriptions WHERE (SELECT MAX(numUsage) FROM subscriptions)")
LiveData<Sub> getTopSub();
Run Code Online (Sandbox Code Playgroud)
但这似乎是错误的,因为我总是得到一个错误(我返回的是一个空对象)
我使用 LiveData 是因为在使用应用程序时,您可以为条目提供更多的 numUsage 点数,以便跟踪它。
也许这是一个相当简单的问题,但我找不到合适的答案!
dao ×10
java ×8
spring ×2
access-vba ×1
android ×1
android-room ×1
crud ×1
debug-mode ×1
dropwizard ×1
ejb-3.0 ×1
exception ×1
hibernate ×1
inheritance ×1
jpa ×1
ms-access ×1
rest ×1
servlets ×1
tomcat ×1
vba ×1