我一直在阅读几篇文章是什么JPA (Java Persistent API)以及哪些供应商支持它(DataNucleus,JBoss Hibernate等)
我没有ORM(对象关系映射)的经验.
到目前为止我所做的是使用DTO和DAO编写自己的数据库类.到目前为止,我对我所拥有的内容感到高兴,但我想知道为什么人们使用JPA而不是包含SQL的Java文件.
对我来说,我觉得写DAO课程就像下面这样.
public class DAOUsers {
public void insertNewUser(DTO DtoUser) {
String query = "INSERT INTO users(username, address) " +
"VALUES(DtoUser.username , DtoUser.address)";
Executor.run(query);
}
}
Run Code Online (Sandbox Code Playgroud)
我已经了解到JPA使用JPQL,Java持久查询语言,它对实体对象而不是直接使用db表进行操作.
我的理解(纠正我,如果我错了)是这里的实体对象和我的DTO对象一样(有点像bean吗?)
但无论如何...... JPA真正有益于在我的文件中编写纯SQL吗?看起来像使用JPA所需的注释并使SQL不可读对我来说不是很有吸引力..
如果您需要更多说明,请告诉我,我是这个主题的新手,并希望听到一些意见.
我已经在Eclipse中重新创建了这个项目,我想到了很多方法,并继续得到同样的错误 -
HTTP Status 404 - /SpringTest/hello
type Status report
message /SpringTest/hello
description The requested resource (/SpringTest/hello) is not available.
Run Code Online (Sandbox Code Playgroud)
请帮我在下面的代码中找到问题.
web.xml -
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Spring3MVC</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
spring-servlet.xml -
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<context:component-scan
base-package="net.viralpatel.spring3.controller" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" …Run Code Online (Sandbox Code Playgroud) 我用Google搜索,试图理解为什么Weblogic 10.3.4没有将EJB注入到servlet的带注释字段中.
Ear包含定义DAO EJB的ejb.jar和带有TestServlet的web.war.
PluginDataDAO.java
@Stateless
public class PluginDataDAO implements IPluginDataDAO {
}
Run Code Online (Sandbox Code Playgroud)
IPluginDataDAO.java
@Local
public interface IPluginDataDAO {
}
Run Code Online (Sandbox Code Playgroud)
TestServlet.java
public class TestServlet extends HttpServlet {
@EJB(mappedName = "PluginDataDAO")
private IPluginDataDAO pluginDataDAO;
}
Run Code Online (Sandbox Code Playgroud)
web.xml中
<web-app version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID">
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>cz.literak.blog.j2ee.TestServlet</servlet-class>
</servlet>
Run Code Online (Sandbox Code Playgroud)
Servlet位于ejb.jar中的web.war,EJB内部.没有运气,我尝试使用/不使用映射名称属性的注释.当我尝试将web.xml升级到3.0时,部署失败,未枚举3.0.怎么了?为什么pluginDataDAO仍然为空?谢谢.
我有一个Rails 3应用程序,我试图用我的数据库中的每个Nation(少于300个国家)填充javascript变量作为JSON对象.这是我nations.js.erb文件中的相关行:
_this.nations = <%= Nation.all.to_json :only => [:id], :methods => :text %>;
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中调用我的js文件时,/assets/users.js这需要民族文件,该_this.nations变量完全填充.当我尝试进行预编译时,我得到以下内容:
$> rake assets:precompile
$> rake aborted!
uninitialized constant Nation (in nations.js.erb)
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:是否可以Nation从js.erb文件中引用模型或任何模型进行预编译?我也尝试使用我的NationsHelper但我的错误只是改为未初始化的常量NationsHelper.
我对RoR很新,所以如果需要我没有提供的相关信息,请问问.
尝试单击带有变音符号的按钮时出现此错误:
syntax error, unexpected $end, expecting keyword_end
click_on 'Neue Firma hinzuf??gen'
Run Code Online (Sandbox Code Playgroud)
我正在测试Ruby和Capabara.
##Create_User_spec.rb
require 'acceptance/acceptance_helper'
## Feature 'Create User'
feature 'Create User' do ##
Scenario 'Create a User'
scenario 'Create a User' do
## Login into the service
visit 'url'
fill_in 'User-username', :with => 'test'
fill_in 'User-password', :with => 'test'
click_on 'login'
click_link 'Test'
click_on 'Neue Firma hinzufügen'
end
end
Run Code Online (Sandbox Code Playgroud) 我的电子邮件中有文本和HTML部分.在某些情况下,用户报告"垃圾字符",其中电子邮件包含来自数据库的值.当涉及到unicode字符时,这似乎是一个问题.我创建了一个简单的模板,它只回显了text和html部分的值(<%= @body_text %>)并用示例字符串测试它:
永久性特征ë
当我在gmail中看到这个字符串时,它看起来像:
一个永久的功能??????
检查标题我在邮件上看到了这个:
内容类型:multipart/alternative; charset = UTF-8 Content-Transfer-Encoding:7bit
然后是文本部分:
内容类型:text/plain; charset = UTF-8 Content-Transfer-Encoding:base64
和HTML部分:
内容类型:text/html; charset = UTF-8 Content-Transfer-Encoding:quoted-printable
ruby 1.9.2,rails 3.2.6
我正在检查 Angular Bootstrap UI,尤其是服务$modal并注意到一件有趣的事情。
在他们的示例中,' http://plnkr.co/edit/E5xYKPQwYtsLJUa6FxWt?p=preview ' 在附加到弹出窗口的控制器中,他们将所选项目包含在另一个内部属性中
$scope.selected = {
item: $scope.items[0]
};
Run Code Online (Sandbox Code Playgroud)
而不是刚刚
$scope.selected = $scope.items[0];
Run Code Online (Sandbox Code Playgroud)
事实上,他们的代码按预期工作,而我的版本却没有。
为什么需要这个?这里的 JavaScript 问题是什么?
谢谢
我正在尝试使用本地广播接收器.
为了做到这一点,我已经完成了下一步 -
1)在一项活动中,我想要发生一些事情,我创造了一个课程 -
private class NewGroupReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Log.d("The group ", "GOT IN THE RECIVING");
Toast.makeText(this, "Working",Toast.LENGTH_SHORT).show();
}
}
Run Code Online (Sandbox Code Playgroud)
2)在同一个活动中,我使用了下一个代码来创建一个接收器 -
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NewGroupReceiver receiver = new NewGroupReceiver();
//the intent filter will be action = "com.example.demo_service.action.SERVICE_FINISHED"
IntentFilter filter= new IntentFilter("com.example.apps.action.NEW_GROUP");
// register the receiver:
registerReceiver(receiver, filter);
}
Run Code Online (Sandbox Code Playgroud)
3)在服务类中,我使用下一个代码知道发生了什么事情 -
Intent resultsIntent=new Intent("com.example.apps.action.NEW_GROUP");
LocalBroadcastManager localBroadcastManager =LocalBroadcastManager.getInstance(this);
localBroadcastManager.sendBroadcast(resultsIntent);
Run Code Online (Sandbox Code Playgroud)
现在的问题是,当我想知道的事情发生时 - 我看到它进入我在步骤3中使用的代码,但它似乎没有进入BroadcastReceiver - 第1步代码.
知道我在这里做错了什么吗?谢谢你的帮助.
如何生成用于测试的文件,并在 rspec 中上传给定大小和测试文件?我想生成文件。
我目前在 fixtures/files 中有文件,并使用 fixture_file_upload 作为测试文件。我想消除对该示例文件的需求。
我正在尝试使用
<%= comment.created_at.time_ago_in_words(from_time) %>
Run Code Online (Sandbox Code Playgroud)
但它不会工作.我希望评论显示日期为:3分钟前或2天前.
使用这个助手的正确方法是什么?
在我的布局助手:
def time_ago_in_words(from_time, include_seconds_or_options = {})
distance_of_time_in_words(from_time, Time.now, include_seconds_or_options)
end
Run Code Online (Sandbox Code Playgroud)
谢谢!
java ×3
actionmailer ×1
android ×1
angularjs ×1
database ×1
date ×1
ejb ×1
javascript ×1
jpa ×1
orm ×1
precompile ×1
rspec ×1
rspec-rails ×1
ruby ×1
servlets ×1
spring ×1
syntax-error ×1
tomcat ×1
tomcat7 ×1
weblogic ×1